Jac*_*ahl 13 ssl ssl-certificate stunnel
有几台计算机(但不是大多数)拒绝了来自我的网络服务器的 SSL 证书。问题似乎是某些计算机拒绝了 CA 证书。当 Mac OS X 10.6 未完全更新时,该问题似乎会出现在 Mac OS X 10.6 上。
根据http://www.sslshopper.com/index.php?q=ssl-checker.html#hostname=beta.asana.com - 没有问题。
根据http://certlogik.com/sslchecker/,没有发送中间证书。
我的证书来自 Starfield Technologies,我sf_bundle.crt
从这里使用:certs.godaddy.com/anonymous/repository.seam
我正在通过 stunnel 在我的服务器上处理 SSL,如下所示stunnel.conf
:
cert = $CODEZ/admin/production/proxy/asana.pem
CAfile = $CODEZ/admin/production/proxy/sf_bundle.crt
pid =
client = no
[<forwarded port>]
accept = 443
connect = 8443
Run Code Online (Sandbox Code Playgroud)
任何想法我可能做错了什么?
Sha*_*den 17
该CAFile
选项将 CA 配置为用于客户端身份验证证书;这不是你想要的。
相反,您希望在cert
选项中制作文件以包含整个适用的证书链。您需要保存该文件的备份副本,然后创建一个新副本;基本上结合了两个文件,格式如下:
-----BEGIN CERTIFICATE-----
(certificate from asana.pem file pasted here)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate here; copy-paste the top chunk from the bundle)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(root certificate here; copy-paste the bottom chunk from the bundle)
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
这将强制 stunnel 向客户端呈现完整的证书链。
另一个花絮;该openssl s_client
命令对于测试证书链问题和检查您的服务如何呈现其证书非常有用。
编辑: 好的..那个证书包的链是三层深的,但信任链看起来是两层深的。有什么不对的。
顶级证书(“Starfield Secure Certification Authority”)由名为“Starfield Class 2 Certification Authority”的颁发ad7e1c28
者签名,指纹以..开头,但捆绑中的第二个证书与第一个证书的签名者命名完全相同,后者应该是完全相同的证书,指纹以 开头363e4734
,到期日期早于 10 年。然后第三个(根)证书是包含的中间证书的签名者..但这两个都与第一个没有任何关系!
如果这没有意义,请不要担心。总结:草率的工作,有人认真地放弃了构建这个证书包的球。那么,最好的办法是从成功验证链的浏览器中导出 base-64 格式的文件,并将它们粘贴到我从那里列出的格式中。
由于这不是您自己的错,这是一个令人困惑的混乱,我猜测您的 DNS 名称并获取了证书,我认为这应该是您需要的完整链:http : //pastebin.com/Lnr3WHc8
归档时间: |
|
查看次数: |
10988 次 |
最近记录: |