局域网内多台机器使用自签发证书架设https网站一:原理

关键词:

数字证书
自签发数字证书
根证书
网站证书
makecert.exe
itisscg.exe

这个证书真麻烦啊,搞死了。不过,弄清楚以后,回头看,也不是那么难理解。

我先来梳理一下:

https总是与数字证书联系在一起。所谓的https,就是采用了SSL协议的http。SSL协议负责加密通信,采用对称加密。但采用哪种加密方法,密钥如何,并不是固定的,而是在客户端与服务器建立连接之初协商产生的。这个协商步骤,采用了非对称加密。非对称加密,就牵扯到公钥私钥。私钥自己保管,公钥呢?客户端与服务器如何能保证收到的公钥就是对方提供的?这里就要用到数字证书了。数字证书,负责身份验证,公钥就放在数字证书里。(其中原理,可见拙作《HTTPS》)

然而新的问题又来了。谁来保证数字证书的真伪?答案是权威机构,由他们签发的数字证书有权威性。但权威机构颁发的证书需要购买,好像还很贵,我们在开发阶段,或者局域网内,采用自签发证书即可。

自签发证书怎么用呢?步骤是这样的:

1、以一台机器作为根证书服务器(其实就是CA),负责生成根证书

2、所有网站的证书,都由这张根证书来签发

3、客户端导入这张根证书到自己的“受信任的根证书颁发机构”里

为什么网站用自签发证书,客户端也要安装证书呢?你看我们访问互联网上的一些著名站点,都是https,但我们啥证书都不用,就能很顺畅的打开。这是因为,大网站都采用了权威机构颁发的证书,浏览器有一个名单,所以我们无须多做些什么。而自签发证书的话,没有权威性,客户端不认,需要手动将根证书安装到自己机器上的“受信任的根证书颁发机构”里。由于网站证书就是由这个根证书签发的,这样客户端才会认可、信任网站证书,访问得以顺利进行。
局域网内多台机器使用自签发证书架设https网站一:原理_第1张图片

下一篇文章,具体说说如何制作根证书和签发证书。

我学习这个证书也有一些历史了,列一下

局域网内多台机器使用自签发证书架设https网站二:实施

局域网内多台机器使用自签发证书架设https网站一:原理

https的证书

HTTPS

数字签名与数字证书

证书生成、应用及常见错误处理

你可能感兴趣的:(.NET,IIS,Web,应用)