IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 浏览器访问双向认证web服务 -> 正文阅读

[网络协议]浏览器访问双向认证web服务


之前我们学习过https ,在服务器端部署证书,客户端通过对证书的验证目标服务器的合法性。那么如果服务器端设置了双向认证,浏览器该如何访问呢,这里我们采用nsq 的 nsqd服务来模拟https双向认证服务。
如果不了加解密https双向认证等解密码学知识请先阅读: 密码学看这篇就够了
如果对nsq服务不了解可以参考: nsq详细教程系列

启动双向认证web服务

nsq服务介绍及如何启动双向证书验证的http服务参考nsq系列博客snqdTLS及证书验证测试

[root@localhost bin]# ./nsqd --config nsqd.conf
[nsqd] 2022/04/19 04:30:58.558844 INFO: nsqd v1.2.1 (built w/go1.16.6)
[nsqd] 2022/04/19 04:30:58.558899 INFO: ID: 856
[nsqd] 2022/04/19 04:30:58.560390 INFO: TOPIC(t1): created
[nsqd] 2022/04/19 04:30:58.560472 INFO: TOPIC(t1): new channel(c1)
[nsqd] 2022/04/19 04:30:58.560528 INFO: NSQ: persisting topic/channel metadata to nsqd.dat
[nsqd] 2022/04/19 04:30:58.563359 INFO: LOOKUP(127.0.0.1:4160): adding peer
[nsqd] 2022/04/19 04:30:58.563373 INFO: LOOKUP connecting to 127.0.0.1:4160
[nsqd] 2022/04/19 04:30:58.563574 INFO: HTTP: listening on [::]:4151
[nsqd] 2022/04/19 04:30:58.563586 INFO: HTTPS: listening on [::]:4152
[nsqd] 2022/04/19 04:30:58.563619 INFO: TCP: listening on [::]:4150
[nsqd] 2022/04/19 04:30:58.563659 INFO: LOOKUPD(127.0.0.1:4160): channel REGISTER t1 c1
[nsqd] 2022/04/19 04:30:58.563667 INFO: LOOKUP connecting to 127.0.0.1:4160

直接通过postman 调用接口直接报错,因为未使用客户端证书验证,浏览器访问 也是同样报错
在这里插入图片描述

生成客户端证书

要求客户端证书 和 服务器端证书 有相同的ca证书,证书签发方式见openssl 签发证书
这里把生成好的客户端证书 转为 pkcs12格式

[root@localhost certs]# openssl pkcs12 -export -clcerts -in client.pem -inkey client.key -out client.p12
Enter Export Password:
Verifying - Enter Export Password:
[root@localhost certs]# ll
total 56
-rw-r--r--. 1 root root  993 Apr 17 22:42 ca.csr
-rw-r--r--. 1 root root 1675 Apr 17 22:36 ca.key
-rw-r--r--. 1 root root 1184 Apr 17 22:44 ca.pem
-rw-r--r--. 1 root root 1261 Apr 17 21:03 cert.pem
-rw-r--r--. 1 root root  993 Apr 17 23:12 client.csr
-rw-r--r--. 1 root root 1675 Apr 17 23:11 client.key
-rw-r--r--. 1 root root 2637 Apr 19 04:17 client.p12
-rw-r--r--. 1 root root 4596 Apr 17 23:13 client.pem
-rw-r--r--. 1 root root 1704 Apr 17 21:03 key.pem
-rw-r--r--. 1 root root  993 Apr 17 22:47 server.csr
-rw-r--r--. 1 root root 1675 Apr 17 22:46 server.key
-rw-r--r--. 1 root root 4597 Apr 17 22:59 server.pem

浏览器导入证书

以搜狗浏览器为例,设置->intenet选项 ->内容 ->证书
在这里插入图片描述
在这里插入图片描述
点击导入 打开 证书导入向导

在这里插入图片描述
点击下一步 选择证书 并导入

在这里插入图片描述

下一步让输入密码,输入证书生成时的密码 我这里时123456

在这里插入图片描述
下一步 选择证书存储位置为个人
在这里插入图片描述
再下一步导入完成
在这里插入图片描述

浏览器访问验证

打开浏览器 访问测试地址 ,自动弹出让我们选择证书窗口
在这里插入图片描述
选择 正确的证书点击确定 就可以正常访问 了如下

在这里插入图片描述
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:59:21  更:2022-05-18 18:00:35 
 
开发: 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年5日历 -2024/5/19 7:50:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码