摘要:这篇文章主要介绍了如何弄自己的https证书(HTTPS证书),需要的朋友可以参考下,如果你喜欢还可以浏览如何弄自己的https证书(HTTPS证书)的最新相关推荐信息。
HTTPS:证书
一、前言
在上一篇文章中我们介绍了,SSL的基本加密过程,如下
1.客户端向服务器端索要并验证公钥2.双方协商生成“对话密钥”3.双方采用“对话密钥”进行加密通信不过遗憾的是,这种加密过程还是存在一些问题的,那就客户端无法保证自己收到的公钥就是服务器发送过来的货真价实的公钥,还有可能是中间人利用劫持技术将公钥给替换了。因此为了解决上述问题,我们引入了证书机制。
二、证书
公钥证书是由数字证书认证机构(CA)和其相关机关颁发的
证书机制的工作流程如下:
1 服务器的运维人员将公钥发送给CA数字认证机构2 认证机构在收到公钥后会对这个公钥做数字签名操作,然后将这个公钥与数字签名等相关信息绑定在一起形成公钥证书(一个文件),发给运维人员,运维人员再将这个证书绑定在服务器中3 客户端请求HTTPS进行通信时,服务器会将这份由CA数字证书认证机构颁发的公钥证书发送给客户端,以进行接下来非对称加密通信。4 客户端接收到这份公钥证书之后,会使用数字证书认证机构的公钥对证书上数字签名进行验证,以确定服务器公钥的真实性。还会验证验证证书的相关信息,证书有效(没过期等)。这样客户端就可以确认两件事情:一是数字正式时真实有效的,二是服务器的公钥也是值得信赖的。在这整个通信中,数字证书机构的公钥必须安全给客户端,如果还是使用通信的方式获取这个认证公钥,那么这个认证公钥还是有被篡改的风险。因此,鉴于这种情况,多数浏览器开发商发布版本的时候,会事先在内部植入常用认证机关的公钥。如下:(商盟百科网chnore.com)
2.1 证书签发过程
1.服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;2.数字证书机构通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;3.如果信息审核通过,数字证书机构会向申请者签发认证文件-证书。证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名。证书包含:公钥 申请者与颁发者的相关信息 签名。
2.2 完整通信步骤
(商盟百科网chnore.com)
抓包对比分析:
(商盟百科网chnore.com)
三、EV SSL证书
如果这个证书的作用一个是证明通信一方服务器是否规范,一个作用是服务器背后的运营企业是否真实存在,这样的证书就叫做EV SSL证书
四、客户端证书
HTTPS中还可以使用客户端证书,以客户端证书进行客户端认证,证明服务器通信的客户端是预料之内的客户端。
想要获取客户端证书,用户得自己安装客户端证书,这种证书一般在网上银行采用的比较多,有时候在登陆网银时,不仅要求用户确认输入ID和密码,还会要求用户的客户端证书,以确认用户是否为特定的终端访问
五、自签名证书
如果我们使用openssl这套开源程序给自己构建了一套认证机构,从而实现自己给自己办法服务器证书,但是由于该服务器证书在互联网上不可作为证书使用,似乎也没有什么帮助,因为客户端无法验证证书的有效性。主要还是起到了加密的作用。 (商盟百科网chnore.com)
对于这种独立构建的认证机构叫做自认证机构,由自认证机构办法的无用的证书也被成为自签名证书。浏览器访问这种使用自签名时会出现警告信息,如下:
六、总结
即使HTTPS如此安全,但是还是有很多的Web网站未使用HTTPS,其中一个原因时相比于纯文本通信,加密通信会消耗更多的CPU以及内存资源,如果每次通信都加密,会消耗相当多的资源,因此如果是非敏感信息则使用HTTP通信(可能会有劫持,网页上会出现广告)。
,如何弄自己的https证书(HTTPS证书)