我正在运行RedHat Enterprise Linux 6并安装了一个颠覆服务器(使用Apache)。 我刚刚configurationApache以使用Geotrust的SSL证书运行HTTPS。 事情的Apache部分运行正常(我可以访问我的网站通过HTTPS没有警告或问题)。
但是,当我运行一个svn co https://myserver.com/svn/proj_name ,我得到以下错误:
Error validating server certificate for 'https://myserver.com:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: myserver.com - Valid: from Sun, 23 Oct 2011 16:15:13 GMT until Thu, 25 Oct 2012 05:38:36 GMT - Issuer: GeoTrust, Inc., US - Fingerprint: (some fingerprint) (R)eject, accept (t)emporarily or accept (p)ermanently?
另外,我在我的颠覆“服务器”configuration文件:
[global] ssl-authority-files=/usr/share/certs/GeoTrust_Primary_CA.pem; ssl-trust-default-ca = true
但是当我试图访问颠覆时,我在错误日志中find这个:
svn: Invalid config: unable to load certificate file '/usr/share/certs/GeoTrust_Primary_CA.pem'
每个人都可以读取这个文件 – 我直接从GeoTrust的网站下载它。 有什么我失踪?
证书文件很可能是有问题的。 你可以检查它:
openssl x509 -text < /usr/share/certs/GeoTrust_Primary_CA.pem
输出应该包括:
Version: 3 (0x2) Serial Number: 18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority Validity Not Before: Nov 27 00:00:00 2006 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority Subject Public Key Info:
要么
md5sum /usr/share/certs/GeoTrust_Primary_CA.pem
输出应该是: 55a9909182b959dcbb00c550725bcdf2 GeoTrust_Primary_CA.pem
一些事情要检查:
只需在浏览器中启动SVN站点并查看证书path,然后返回到根目录,确保root的指纹与您拥有的文件相匹配。
并将证书导出到x509,准备第二步:
如果Apache不显示它们,SVN客户端不能推断出中间体。
你需要一个SSLCertificateChainFile指令,指向一个包含x509证书链(除了你自己的证书,应该在SSLCertificateFile )的文件:
-----BEGIN CERTIFICATE----- (intermediate certificate's base64 data here) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (root certificate's base64 data here) -----END CERTIFICATE-----
一旦完成,validationApache的发送整个链openssl s_client -connect myserver.com:443 -showcerts 。