最近我的一台机器被放在一个代理服务器的后面,这意味着我已经工作的一些程序不再执行
当我尝试做“openssl s_client -showcerts -connect remoteserver:remoteport”时,它给我带来了一个可爱的“validation返回码:20(无法获得本地颁发者证书)”,我认为这是因为中间(代理)证书不被认可。
如果我的假设是正确的,我相信我必须安装代理的根证书,以使我的程序再次工作。
我被给了一个.cer文件,我转换成一个pem文件如下:
openssl x509 -inform der -in certificate.cer -out certificate.pem
然后我继续得到pem的散列(正如这里所build议的https://stackoverflow.com/questions/12041512/openssl-unable-to-get-local-issuer-certificate-unless-cafile-is-explicitly-speci ):
openssl x509 -issuer_hash -noout -in certificate.pem
这给了我一个string(例如:a8a87a6a)。
然后我去复制pem文件,重新命名为a8a87a6a到/ etc / pki / tls / certs,但是我仍然得到相同的“validation返回码:20(无法获得本地颁发者证书)”,甚至当运行“-CApath / etc / pki / tls / certs /“。
我也尝试重命名该文件的扩展名.pem .crt .cer无济于事。
非常沮丧在这个,我怎么能得到这个证书被认可为合法,让我的东西再次工作?
在CentOS 5中,可信证书位于/etc/pki/tls/certs/ca-bundle.crt。 只需将新的可信任证书附加到此文件。
这是你的问题如何添加新的证书的答案。 但是,这可能会解决你的问题。 您的代理证书(CN名称)很可能与您的服务CN不匹配。