我在我的HPUX/Apache服务器上收到了以下错误:
证书验证:错误(20):无法获得本地颁发者证书
当我查看我的根证书时,服务器上包含了DoD根CA-2根证书。
我的站点证书具有DoD根CA-2 -> DoD CA-28 ->证书链.
当我执行以下操作时,确实会收到一个错误:
-bash-4.3$ openssl s_client -connect mysite:443 -showcerts
CONNECTED(00000003)
depth=0 /C=US/O=U.S. Government/OU=DoD/OU=PKI/OU=USN/CN=mysite
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /C=US/O=U.S. Government/OU=DoD/OU=PKI/OU=USN/CN=mysite
verify error:num=27:certificate not trusted
verify return:1
depth=0 /C=US/O=U.S. Government/OU=DoD/OU=PKI/OU=USN/CN=mysite
verify error:num=21:unable to verify the first certificate
verify return:1
20509:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1102:SSL alert number 40
20509:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:182:除了上面openssl命令的错误和确认之外,我的站点大部分时间都在工作(我确实缺乏内存,这给我带来了问题)。
服务器上的根存储区是否需要DoD CA-28证书?
发布于 2016-10-20 08:41:25
对于Apache,您只需要RSA密钥和X509签名证书或自签名证书。不需要CA。
虽然,有些客户会抱怨,如果他们没有看到你有完整的链,或至少是CA的链,除非根之一,如果他们有。
让我们假设有一个名为3ca的签名授权,称为示例,并且已经对您的证书进行了签名。
ROOT-EXAMPLE <-- browsers may have this if it is a known authority
SUB-EXAMPLE <--- you haven't included this one
SIGNER-EXAMPLE <--- you haven't included this one
YOURCERT <-- you are offering this one
YOURKEY <-- you are offering this one因此,简单地说,要能够加密-解密Apache HTTPd只需要从底部开始的前两个,并且您应该添加所有的其余部分(除了根,如果它包含在浏览器中,这是不必要的)。
如何使用Apache (包括所有的)来完成这个任务?简单
SSLCertificateKeyFile /path/to/rsa.key
SSLCertificateFile /path/to/chain.crt <-- here you can include the signed and the ca's from root to leaf.https://serverfault.com/questions/810009
复制相似问题