内容简介:关键词:数字证书自签发数字证书
关键词:
数字证书
自签发数字证书
根证书
网站证书
makecert.exe
itisscg.exe
这个证书真麻烦啊,搞死了。不过,弄清楚以后,回头看,也不是那么难理解。
我先来梳理一下:
https与数字证书联系在一起。所谓的https,就是采用了SSL协议的http。SSL协议负责加密通信,采用对称加密。但采用哪种加密方法,密钥如何,在客户端与服务器建立连接之初是协商产生的。而这个协商步骤,采用了非对称加密。非对称加密,就牵扯到公钥私钥。私钥自己保管,公钥呢?客户端与服务器如何能保证收到的公钥就是对方提供的?这里就要用到数字证书了。数字证书,负责身份验证。(其中原理,可见拙作《HTTPS》)
然而新的问题又来了。谁来保证数字证书的真伪?答案是权威机构,由他们签发的数字证书有权威性。但这些证书需要购买,我们开发阶段,或者局域网内,采用自签发证书即可。
我们部署一个https网站,以IIS为例,需要在网站里绑定证书(可见拙作《https的证书》)。两个问题:
1、网站需要绑定什么证书?
2、另外,客户端访问网站,是不是也要安装证书?
答案是:
1、网站需要绑定一个能表明自己身份的证书,就是上面说的那个意义上的数字证书
2、网站采用自签发证书的话,客户端也要安装证书;但这个证书与网站的不一样
为什么说网站用自签发证书,访问网站的客户端也要安装证书呢?是因为客户端安装的这个证书,是根证书,就是用于签发网站证书的证书。客户端将这个根证书安装在自己机器上的“受信任的根证书颁发机构”里,然后访问网站的时候,由于该网站的证书就是由这个根证书签发的,所以客户端就会认可、信任这个证书,访问得以顺利进行。
但我们访问互联网上的一些著名站点,都是https,啥证书都不用,就能很顺畅的打开。这是因为这些大网站都采用了权威机构颁发的证书,浏览器有一个名单,所以我们无须多做什么。
理解了上面的原理,在局域网内,多个站点都改用https就比较水到渠成了。步骤是这样的:
1、以一台机器作为根证书服务器,负责生成根证书 2、所有网站的证书,都由这张根证书来签发 3、访问所有网站的客户端,都导入这张根证书到自己的“受信任的根证书颁发机构”里
如此,https可成矣。
下一篇文章,具体说说如何制作根证书和签发证书。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Blockchain Basics
Daniel Drescher / Apress / 2017-3-16 / USD 20.99
In 25 concise steps, you will learn the basics of blockchain technology. No mathematical formulas, program code, or computer science jargon are used. No previous knowledge in computer science, mathema......一起来看看 《Blockchain Basics》 这本书的介绍吧!