关于Https协议中的ssl加密解密流程_ssl证书密钥如何解密 吾爱

关于Https协议中的ssl加密解密流程_ssl证书密钥如何解密 吾爱B: [其它人不会听到的…]
从上面的过程可以看到,SSL协议是如何用非对称密码算法来协商密钥,并使用密钥加密明文并传输的。还有以下几点补充

B: [其他人听不到.]

上述过程展示了SSL协议如何使用非对称加密算法来协商密钥并使用该密钥来加密和发送明文。还有几点。

1、B使用数字证书将自己的公钥等信息打包并发送给A。稍后我们将看到A 如何验证B 的身份。

2.A生成加密密钥、加密初始化向量和hmac密钥。双方都使用它们来消化和加密明文。首先使用加密初始化向量和hmac密钥对明文进行摘要(防止明文被篡改),然后将摘要和明文组合并使用加密密钥进行加密后再发送。

3、由于只有B拥有私钥,因此只有B可以解密ClientKeyExchange消息并获得后续的通信密钥。

4、实际上,上面的流程B并没有验证A的身份。如果需要,还支持SSL。这时A也需要提供自己的证书,不过这里不做介绍。为IIS 配置SSL 要求时,默认情况下通常会忽略客户端证书。

数字证书

从上面的讨论可以看出,数字证书在SSL传输过程中起到了身份认证和密钥分发的作用。什么是数字证书?

换句话说,数字证书是互联网上证明其所有者身份的文件,还包含公钥。一方面,既然是文件,就可以“伪造”,所以证书的真实性需要验证方法,但另一方面,验证者必须同意这个验证方法的存在。

对于第一个要求,当前的解决方案是使用国际认可的证书颁发机构(认可的信任机构)和一些验证证书的客户端应用程序(对于这些证书颁发机构颁发的证书)(浏览器、电子邮件客户端等)。完全值得信赖。当然,如果你想让这些机构给你颁发证书,你就需要支付一定的费用。通常,在部署Windows系统时,客户端会被要求安装自己的服务器根证书,以便可以信任它们。我们的证书。

关于第二个要求,当客户端程序收到证书时,它们通常会检查该证书是否是由列表中的证书颁发机构颁发的,如果不是,则不能信任它。请相信。

证书的信任

因此,作为https站点,需要绑定证书。该证书必须是国际认可的证书颁发机构或任何拥有证书的计算机。该服务已安装。客户端能否信任本站点的证书取决于客户端程序是否导入了证书颁发者的根证书。下图展示了这个过程。

在某些情况下,证书颁发机构可能会授权另一个证书颁发机构颁发证书,从而创建证书链。

IE浏览器在验证证书时,主要检查三个方面:如果不满足其中任何一个,将显示警告。

证书颁发者是否包含在根受信任的证书颁发机构列表中、证书是否已过期以及证书所有者是否与访问的网站匹配。

另外,浏览器会定期检查证书颁发者公布的“证书吊销列表”,即使证书符合上述条件,颁发者也不会将其列在“证书吊销列表”中,如果是,也会出现警告。被显示。每个证书的CRL 分发点字段显示用于查看此列表的URL。然而,Windows 对此列表“不敏感”。这意味着Windows API 会缓存此列表,并且在配置的缓存过期之前不会从CRL 分发点下载新列表。目前,让Windows客户端尽可能“安全”的唯一方法就是将证书颁发服务器的有效期设置得尽可能短(少至一天)。具体设置方法(winserver2003):

进入“管理员工具”-“证书颁发机构”,右键单击“证书服务”下的“吊销的证书”目录,选择“属性”。

根据镜像中的设置,将CRL发布频率更改为1天。

IIS中部署基于数字证书的https网站

在IIS6上构建https网站需要以下主要步骤:

安装CA 证书服务。此步骤不是必需的。如果网络中的主机未安装CA 证书服务或者您需要构建新的CA 证书服务,则必须在特定主机上安装CA 证书服务。这是Windows 自带的功能,默认情况下不安装。如果安装了,则意味着只要安装了该主机根证书的客户端信任该主机颁发的证书,该主机就可以颁发证书。有关Windows Server 2003 上的安装说明,请参阅http://jeffyyko.blog.51cto.com/28563/140518。如需了解更多信息,请向CA证书服务提交证书申请并将获得的证书绑定到您的网站。有关更多信息,请参阅http://jeffyyko.blog.51cto。com/28563/141322需要导入根证书,以便客户端信任该证书。有关更多信息,请参阅http://jeffyyko.blog.51cto.com/28563/142280。

证书与密钥

在SSL加密过程部分中,我们了解到,要实现SSL加密通信,双方必须使用SSL非对称加密协商密钥。在此过程中,证书包含从服务器发送到客户端的公钥。客户端使用其公钥对其生成的密钥进行加密,服务器使用与公钥匹配的私钥对其进行解密。因此,很可能服务器存储了私钥,并且也绑定了https 站点。

绑定私钥和不绑定私钥的证书

根据证书所有者是否拥有证书的私钥,证书可以分为两种类型。如果你的本地机器有证书的私钥,则会显示在左侧,否则会显示在左侧,如下图。在右侧:

如您所见,左图显示“我有一个与此证书匹配的私钥”,但右图没有。需要绑定https站点的证书必须是左图格式,分发给客户端安装的证书必须是右图格式,而不是左图格式。

对于左侧的证书,您还可以将其与私钥一起导出为.pfx格式,以进行证书备份或分发。步骤如下:

选择同时导出私钥

重新安装时需要您在此处输入的密码,因此请确认。

当您选择要保存的文件时,后缀将自动变为.pfx。

对于常规证书,包含私钥的.pfx格式无法导出,只能导出三种格式:

总结

本文总结了https/ssl/数字证书相关的基本概念,讲解了SSL协议的实现原理,并描述了数字证书在SSL协议中的作用。

转载您的努力成果时,请注明出处:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html

ps: 参考号:

https://my.oschina.net/blackylin/blog/144136

我们专门整理了上百道【运维技术栈面试题】,成为您运维面试路上的好助手。这样,你就可以毫无惊慌地参加面试并获得高薪offer。

这些面试题涵盖了从Shell、MySQL到K8s等云原生技术栈,适合运维行业新人以及运维行业新人的面试需求。升职或换工作以增加薪水。

本次访谈集内容为

174 运维工程师面试题128 k8s 面试题108 shell 脚本面试题200 Linux 面试题51 Docker 面试题35 Jenkis 面试题78 MongoDB 面试题17 ansible 面试题60 dubbo 面试题53 Kafka 面试题18 mysql 面试题40 nginx面试题题77 redis面试题Zookeeper题28

总共1000多道面试题,内容全面且有价值。

174道运维工程师面试题

1.什么是运维?

2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?

3. 您目前有300台服务器,您如何管理它们?

4. 简要说明RAID0和Raid1raid5这两种工作模式的工作原理和特点。

5、LVS、Nginx、HAproxy有什么区别?

6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?

7.Tomcat和Resin有什么区别?

8.什么是中间件?

9、Tomcat中的8005、8009、8080这三个端口是什么意思?

10.什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

什么是中间件?

9、Tomcat中的8005、8009、8080这三个端口是什么意思?

10.什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

17.如何重置mysql root密码?

#以上是关于HTTPS协议的SSL加解密过程。我的爱相关内容来源网络仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92135.html

(0)
CSDN的头像CSDN
上一篇 2024年6月25日
下一篇 2024年6月25日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注