Flutter开发App的未来及其在各行业的应用潜力分析
1170
2022-12-02
局域网内多台机器使用自签发证书架设https网站一:原理
关键词:
数字证书 自签发数字证书 根证书 网站证书 makecert.exe itisscg.exe
这个证书真麻烦啊,搞死了。不过,弄清楚以后,回头看,也不是那么难理解。
我先来梳理一下:
https总是与数字证书联系在一起。所谓的https,就是采用了SSL协议的http。SSL协议负责加密通信,采用对称加密。但采用哪种加密方法,密钥如何,并不是固定的,而是在客户端与服务器建立连接之初协商产生的。这个协商步骤,采用了非对称加密。非对称加密,就牵扯到公钥私钥。私钥自己保管,公钥呢?客户端与服务器如何能保证收到的公钥就是对方提供的?这里就要用到数字证书了。数字证书,负责身份验证,公钥就放在数字证书里。(其中原理,可见拙作《HTTPS》)
然而新的问题又来了。谁来保证数字证书的真伪?答案是权威机构,由他们签发的数字证书有权威性。但权威机构颁发的证书需要购买,好像还很贵,我们在开发阶段,或者局域网内,采用自签发证书即可。
自签发证书怎么用呢?步骤是这样的:
1、以一台机器作为根证书服务器(其实就是CA),负责生成根证书2、所有网站的证书,都用这张根证书来签发3、客户端导入这张根证书到自己的“受信任的根证书颁发机构”里
为什么网站用自签发证书,客户端还要导入根证书呢?你看我们访问互联网上的一些著名站点,都是https,但我们啥证书都不用,就能很顺畅的打开。这是因为,大网站都采用了权威机构颁发的证书,浏览器内置了一份权威机构名单,所以无须我们多做些什么。而自签发证书的话,没有权威性,浏览器不认,所以需要手动将根证书安装到浏览器所在机器上的“受信任的根证书颁发机构”里。由于网站证书就是由这份根证书签发的,这样浏览器才会认可、信任网站,访问得以顺利进行。
下一篇文章,具体说说如何制作根证书和签发证书。
我学习这个证书也有一些历史了,列一下
局域网内多台机器使用自签发证书架设https网站二:实施
局域网内多台机器使用自签发证书架设https网站一:原理
https的证书
HTTPS
数字签名与数字证书
证书生成、应用及常见错误处理
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~