| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> Https 证书相关 -> 正文阅读 |
|
[区块链]Https 证书相关 |
单向认证和双向认证https在握手过程,会涉及到证书的传递和认证 单向认证即客户端校验服务端证书是否合法,客户端请求服务端之后,服务端会发送公钥证书到客户端,客户端拿到公钥证书,会到自己的信任证书链中校验是否是信任证书,如果是信任证书则继续通讯,否则中断 双向认证不仅客户端校验服务端证书是否合法,服务端还要校验客户端证书是否合法。 客户端校验服务端证书合法性之后,会将自己的证书发送到服务端,服务端进行校验 nginx配置双向认证 server { listen 443; ssl on; ssl_session_timeout 5m; ssl_verify_client on; ssl_client_certificate snb.ca.cer; ssl_verify_depth 2; } 具体原理请看 https://blog.csdn.net/superviser3000/article/details/80812263 Java中的keystore和truststorekeystore一般存储自己的私钥和公钥,而truststore则用来存储自己信任的对象的公钥 当客户端A访问服务端B时,服务端会返回证书,这时客户端会拿这个证书到truststore中查看证书是否在信任链中,一般信任链机构都会内置在系统中,如果是双向认证,客户端会把keystore中的公钥和私钥都发给服务端做校验 涉及多服务商证书对接比如服务商A和服务商B对接,如果只是单向认证,则需要互相提供公钥证书,添加到信任链中,即truststore 如果是双向认证,则不仅需要提供公钥证书,还要提供根证书。如果是A访问B,B配置双向认证,则A提供根证书给B,并且在访问时需要携带公钥私钥访问,并且公钥私钥是根证书机构签发的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:31:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |