SSL证书生成,签名,验证

SSL证书生成,签名,验证

 

1、 签名证书的作用有以下几个:

第一:身份验证。比如你正在访问的网站,就是你想访问的网站。

      以https://www.baidu.com为例:在浏览器输入此网址,然后百度的服务器返回一个网页,怎样确保浏览器访问的是百度服务器返回的网页,而不是其它中间攻击人返回的网页。

通过证书。在浏览器访问https://www.baidu.com时,服务器会返回一个证书给浏览器,浏览器拿着这个服务器返回的证书到CA机构去验证这个证书的合法性。

CA机构是权威机构,它会保证证书的合法性。CA就像公安局,我们相信公安局,但是我们不一定相信某个人和他的身份证能对上。要想知道他的身份证是否是真的,可以拿着身份证到公安局去验证真伪。

 

第二:在不安全、透明的网络环境下,做到信息传递的保密性,完整性,不可否认性(双向认证)。

        证书里包含了服务端的公钥信息,在浏览器发信息给服务器时,会用公钥对信息进行加密,并且对传输的信息进行摘要处理,把密文和摘要一起发给服务端。中间攻击人截获了传输的信息,无法读懂,因为经过加密;也无法解密,因为没有私钥(做到了信息的保密性)。另外中间人也无法篡改截获到的信息,因为经过了摘要处理。假设中间攻击人改了某个信息,服务端在拿到原始信息进行摘要处理后,会和客户端生成的摘要进行对比,发现不对,那就可以丢弃本次处理了,因为有可能被篡改过。

      这里只是做个比喻说明消息传递的保密性和完整性。在实际通信时,公钥和私钥只是传输某些字段信息,客户端和服务端会根据这些字段生成对称加密需要的秘钥。通信时的加密,最后是通过对称算法和对称秘钥,进行加解密。

 

2、 证书文件包含的内容

通过openssl命令生成证书的过程可以看出,证书里包含:公司的名称,组织名称,域名,公钥等信息。

 

3、 证书生成,CA签名,客户端验证过程

 

   

主要过程:

证书的生成:

openssl 命令生成证书

证书的签名:

CA 机构对服务端生成的证书,先生成摘要A;再用CA私钥对摘要A,加密生成密文B,密文B就是所说的签名。把生成的密文B追加到证书里,这就是个签名的证书。当然在签名前CA机构会对申请的证书和组织机构进行审核。

 

客户端对证书的验证

客户端拿到服务端带有签名的证书,读出证书里的相关内容和签名B。用内置的CA证书(带有公钥)的公钥解密签名B得到摘要A,然后在对证书里的相关内容按照摘要算法,算出摘要C,在对比摘要A和C是否相等,如果相等,这表明证书里的内容没有被篡改过,并且验证证书的有效期,证书里的域名和访问的域名是否相同等。

 

  Windows内置CA已颁发的证书:可以通过单击“开始”按钮,在“搜索”框中键入certmgr.msc,然后按 Enter,打开“证书管理器”,可以见下图

                          

 

参考:

1、那些证书相关的玩意儿

2、官方文档对证书文件的结构和内容的规范:rfc5280

3、Open ssl 生成证书文件和自签名证书文件的过程

http://www.cnblogs.com/littleatp/p/5878763.html

http://www.cnblogs.com/gordon0918/p/5409286.html

4、公钥,私钥,摘要,非对称算法,对称算法,对称秘钥

http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值