当前位置: 首页 > 面试题库 >

ssl证书如何验证?

鲁杜吟
2023-03-14
问题内容

安全验证ssl证书需要执行哪些步骤?我的理解(非常有限)是,当您访问https站点时,服务器将证书发送给客户端(浏览器),浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式进行比较有效性证书。

  • 这到底是怎么做的?
  • 该过程如何使其不受中间人攻击?
  • 是什么阻止一些随机的人设置自己的验证服务以用于中间人攻击,从而使一切“看起来”都是安全的?

问题答案:

这是一个非常简单的解释:

  1. 您的Web浏览器将下载Web服务器的证书,其中包含Web服务器的公钥。该证书使用受信任的证书颁发机构的私钥签名。

  2. 您的Web浏览器已安装了所有主要证书颁发机构的公钥。它使用此公用密钥来验证Web服务器的证书确实由受信任的证书颁发机构签名。

  3. 证书包含Web服务器的域名和/或IP地址。您的Web浏览器通过证书颁发机构确认证书中列出的地址是它具有打开连接的地址。

  4. 您的网络浏览器会生成一个共享对称密钥,该对称密钥将用于加密此连接上的HTTP流量;这比对所有内容使用公钥/私钥加密要有效得多。您的浏览器使用Web服务器的公共密钥加密对称密钥,然后将其发送回去,从而确保只有Web服务器可以对其进行解密,因为只有Web服务器具有其私钥。

请注意,证书颁发机构(CA)对于防止中间人攻击至关重要。但是,即使未签名的证书也将阻止某人被动地侦听您的加密流量,因为他们没有办法访问您的共享对称密钥。



 类似资料:
  • 问题内容: 我正在尝试通过调用HTTPS REST API 。在开发过程中,我偶然发现以下错误: 因此,我在Google上搜索了一下,并找到了很多可行的解决方案。 使用Jersey客户端的HTTPS https://gist.github.com/outbounder/1069465 如何解决“ java.security.cert.CertificateException:不存在使用者替代名称”

  • 问题内容: 假设我编写了两个Java应用程序:并且它们被部署并在两个单独的服务器上运行(部署到和部署到),并且这两个应用程序需要通过SSL相互通信(双向)。我们还假设每个应用程序都有自己的SSL证书。 我(Java程序员)如何编码并验证彼此的SSL证书?每个CA是否都提供某种我可以使用的RESTful API ?Java是否有自己的证书验证API?我可以使用开放源代码的第三方JAR或服务吗? 当我

  • 我正在尝试通过调用HTTPS REST API。在开发过程中,我偶然发现了以下错误: 所以我用谷歌搜索了一下,找到了大量的解决方案,实际上是有效的。 使用泽西客户端的HTTPS https://gist.github.com/outbounder/1069465 如何修复java.security.cert.证书异常:不存在主题替代名称错误? http://www.mkyong.com/webse

  • 我们的应用程序可以使用Active Directory用户和组。我们在端口389上使用LDAP进行Active Directory操作。现在,我们的一个客户机希望我们添加一个使用LDAP+SSL进行Active Directory通信的选项。 他们告诉我们,他们在域上安装了一个本地CA,并对LDAP使用自签名证书。他们还告诉我们,他们会提供证书,不需要相互信任,我们应该使用Windows证书存储。

  • 假设我编写了两个Java应用程序:和,它们在两个独立的服务器上部署和运行(部署到和部署到

  • 当我想要在cPanel上安装证书时,我会看到以下错误: 错误证书验证失败! 已执行/usr/bin/openssl verify-capath/var/cpanel/ssl/installed/cabundles: stdin:CN=example.com 0深度查找时错误20:无法获取本地颁发者证书

  • 问题内容: 从詹金斯(Jenkins)创建工作时,出现以下错误。如何在Jenkins中禁用证书验证? 在Git Bash中,我可以使用命令来禁用它,但不确定如何从Jenkins使用它。 错误: 问题答案: 最好的选择是将自签名证书添加到您的证书存储中 获取服务器证书树这可以使用chrome完成。 导航到服务器地址。单击挂锁图标并查看证书。将所有证书链导出为base64编码文件(PEM)格式。 将证

  • 我正在尝试通过空手道关闭SSL证书验证。现在我得到了错误: javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径