![]() |
1
6
服务器证书验证不需要私钥。您所需要的只是包含公钥的证书本身。只有服务器有私钥。这里描述得很好 http://www.helpbytes.co.uk/https.php 这里 http://www.verisign.com/ssl/ssl-information-center/how-ssl-security-works/ 我的建议很简单。检查你的证书是否正确。
此外,如果您有权访问服务器,则可以明确验证证书和密钥(在httpd配置中使用)是否正确(匹配): http://kb.wisc.edu/middleware/page.php?id=4064 请注意,这是在服务器上运行的显式检查。不要把私人钥匙给别人。此检查只能由管理员执行,以验证httpd是否配置错误。
您还可以使用标准的openssl命令调试SSL证书通信。发出此命令,然后等待几秒钟,然后键入quit并按Enter。您将看到服务器发送的证书。
同时尝试将证书导入浏览器并访问URL资源。浏览器可以通过点击https(火狐和Chrome)来验证它。然后您将看到证书本身和有效性信息。 以上都是关于 服务器证书 .这只是问题的一部分。” 我正在连接到正确的服务器 服务器可以保证它是我连接到它的“实际上在您上面的代码中,您现在只检查服务器证书。如果你想要 客户端证书 (陈述的第二部分)比在Ruby中需要的更多:
就是这样 客户端证书 应该在Ruby中使用。如果您的私钥是用密码加密的,只需在rsa构造函数的第二个参数中将其传递为nil即可。 我强烈建议让服务器证书工作(您的代码),然后从客户端证书开始。请注意,您保留当前代码(CA证书、验证常量)并将上述四行添加到其中。 希望这有帮助。 |
![]() |
2
0
您的客户机需要访问其私钥。私钥不在证书中,证书只包含公钥。抱歉,我不知道Ruby,但是一种常见的技术是将私钥和证书捆绑在一个pkcs 12(也叫p12)中,将其归档并提供给加密库。 |
![]() |
3
-8
变化
到
一旦您这样做了,SSL将正常工作。在我的开发环境中,我已经多次使用过这种方法,它总是能够完美地工作。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 6 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 7 月前 |
![]() |
lucycoco · 如何解决pod安装问题并成功运行pod安装? 10 月前 |
![]() |
Vessel · Ruby-包含任意数量元素的所有排列 11 月前 |