我的网络上的服务器使用RapidSSL CA颁发的证书签名,但不提供完整的颁发者链(RapidSSL CA的证书由受信任的根权威机构GeoTrust CA颁发)。
当我使用firefox访问站点时,我会得到以下错误:
The certificate is not trusted because no issuer chain was provided.
(Error code: sec_error_unknown_issuer)
但是,如果我使用IE或chrome连接到站点,它就能工作,我注意到RapidSSL随后作为中间CA加载。我不明白Chrome/IE (我假设它使用)如何知道如何添加R
这可能看起来很琐碎,但我对tls并不在行。
我有一个openvpn服务器,可以进行双向tls操作。
我的虚拟专用网客户端有一个ca.crt文件:
root CA
intermediate CA
issuing CA
我的服务器的server.crt为:
server certificate # which is signed by the above "issuing CA"
但是,如果在我的vpn客户端上删除了ca.crt中的“颁发CA”和“中间CA”,那么我的vpn客户端仍然可以验证server.crt。
如果我的vpn客户端在我的ca.crt中放置了无效的“根CA”,那么
我有一个从Sub CA颁发的证书,其证书路径如下:
Root CA
Sub CA
My Certificate
为什么当我试图用X509Chain.Build()验证它时,我总是需要在我的受信任的根证书颁发机构文件夹中拥有Sub才能返回true?我已经有了根CA证书,所以既然我信任根,作为一个信任网络,它不应该也信任子CA吗?因为现在,它说它无法将链构建到受信任的根证书颁发机构,除非我将Sub CA证书添加到受信任的根证书颁发机构。
我已经创建了一个根CA(CAI2)和两个中间CA(CA-I1&CAI2)(都是自签名的)。
使用CA-I1,我为server1 1/client1 1生成了一个私钥,CSR &创建了证书。安装了用于Server1(Apache2)和client1.Im的证书,可以使用Myclient1(Python)成功地连接到server1。
Here is the chain -> client1->server1->CA-I1->root CA
使用CA-I2,我为server2 2/client2 2生成了一个私钥,CSR &创建了证书。安装了Serve
我正在开发一个使用ECDSA证书的应用程序。在cert生成之后,应该对它们进行验证,但目前收到了以下错误:
C = CA, ST = BC, L = City, O = Corp, OU = Software, emailAddress = administrators@corp.com, CN = va.corp.com
error 18 at 0 depth lookup: self signed certificate
当调用以下命令时:openssl verify -CAfile ca-chain en-cert.pem
证书使用类似于openssl ca -in CSR的CSR生成。
我正在跟踪和app工作,但是我用服务器密钥创建的证书工作起来了
我知道我需要用我的服务器接受的证书传递ca选项,但我不知道如何指定我需要的证书。
我希望接受来自其他CA的证书,而不仅仅是那些用我的服务器密钥签名的证书.
[The peer's certificate must be chainable to a CA trusted by the server for the connection to be authenticated. When using certificates that are not chainable to a well-known CA, the ce