内容简介:关键词:数字证书自签发数字证书
关键词:
数字证书
自签发数字证书
根证书
网站证书
makecert.exe
itisscg.exe
这个证书真麻烦啊,搞死了。不过,弄清楚以后,回头看,也不是那么难理解。
我先来梳理一下:
https与数字证书联系在一起。所谓的https,就是采用了SSL协议的http。SSL协议负责加密通信,采用对称加密。但采用哪种加密方法,密钥如何,在客户端与服务器建立连接之初是协商产生的。而这个协商步骤,采用了非对称加密。非对称加密,就牵扯到公钥私钥。私钥自己保管,公钥呢?客户端与服务器如何能保证收到的公钥就是对方提供的?这里就要用到数字证书了。数字证书,负责身份验证。(其中原理,可见拙作《HTTPS》)
然而新的问题又来了。谁来保证数字证书的真伪?答案是权威机构,由他们签发的数字证书有权威性。但这些证书需要购买,我们开发阶段,或者局域网内,采用自签发证书即可。
我们部署一个https网站,以IIS为例,需要在网站里绑定证书(可见拙作《https的证书》)。两个问题:
1、网站需要绑定什么证书?
2、另外,客户端访问网站,是不是也要安装证书?
答案是:
1、网站需要绑定一个能表明自己身份的证书,就是上面说的那个意义上的数字证书
2、网站采用自签发证书的话,客户端也要安装证书;但这个证书与网站的不一样
为什么说网站用自签发证书,访问网站的客户端也要安装证书呢?是因为客户端安装的这个证书,是根证书,就是用于签发网站证书的证书。客户端将这个根证书安装在自己机器上的“受信任的根证书颁发机构”里,然后访问网站的时候,由于该网站的证书就是由这个根证书签发的,所以客户端就会认可、信任这个证书,访问得以顺利进行。
但我们访问互联网上的一些著名站点,都是https,啥证书都不用,就能很顺畅的打开。这是因为这些大网站都采用了权威机构颁发的证书,浏览器有一个名单,所以我们无须多做什么。
理解了上面的原理,在局域网内,多个站点都改用https就比较水到渠成了。步骤是这样的:
1、以一台机器作为根证书服务器,负责生成根证书 2、所有网站的证书,都由这张根证书来签发 3、访问所有网站的客户端,都导入这张根证书到自己的“受信任的根证书颁发机构”里
如此,https可成矣。
下一篇文章,具体说说如何制作根证书和签发证书。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms in Python
Michael T. Goodrich、Roberto Tamassia、Michael H. Goldwasser / John Wiley & Sons / 2013-7-5 / GBP 121.23
Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Struct......一起来看看 《Data Structures and Algorithms in Python》 这本书的介绍吧!