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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Nginx ssl双向认证包含移动端和PC端证书生成 -> 正文阅读

[网络协议]Nginx ssl双向认证包含移动端和PC端证书生成

1:制作CA私钥,在根目录创建一个cert文件夹然后执行

openssl genrsa -out ca.key 2048

2:制作CA公钥/根证书

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

Common Name 填写root;其它可以填”.”

3;制作服务器私钥

openssl genrsa -out server.pem 1024
openssl rsa -in server.pem -out server.key

4:生成签发请求

openssl req -new -key server.pem -out server.csr

Common Name填写访问服务器时域名,配置nginx时用到,不能与CA的相同 其它填写”.”

5:用CA签发证书

openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

6:客户端证书制作私钥

openssl genrsa -out client.pem 1024
 
openssl rsa -in client.pem -out client.key 

7:生成签发请求

openssl req -new -key client.pem -out client.csr

Common Name填写访问服务器时域名,配置nginx时用到,不能与CA的相同 其它填写”.”

?8:用CA签发

openssl x509 -req -sha256 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out client.crt

9:配置nginx,端口默认80,实际上https?需要监听443端口,这里只是测试使用。

    server {
    listen       80 ssl;
		#listen       80;
    server_name  8.131.91.208;
		#ssl on;
		ssl_certificate   /cert/server.crt;
		ssl_certificate_key  /cert/server.key;
		ssl_client_certificate  /cert/ca.crt;
		ssl_verify_client on;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

10:重启nginx后测试。。。

curl --insecure --key client.key --cert client.crt 'https://8.131.91.208:80' 

可以直接访问。。

11:导出PC端和移动端证书?默认设置的p12密码是123456

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
openssl pkcs12 -export -in client.crt -inkey client.key -out  client.pfx
openssl x509 -in client.crt -out client.cer
openssl x509 -in server.crt -out server.cer

这里生成的server.cer?服务器公钥证书?在IOS中会报错:

iOS中cer证书转换失败闪退“SecCertificateCreateWithData”

内容? iOS中cer证书转换失败闪退“SecCertificateCreateWithData” - 简书??????

可以安装文件解决,也可以服务器生成证书的增加der算法

openssl x509 -outform DER -in server.crt -out serverder.cer

?这样证书就不是默认的base64加密的密钥串了。可以直接使用。。。

服务器所有证书列表

11,PC端访问,如果没有安装证书会出现

?12:把服务器的证书下载到本地,双击client.p12或者pfx格式的安装证书,直接下一步下一步输入密码123456,然后刷新页面会出现选择证书的操作直接确定

?然后会出现访问成功的页面:

这样PC端就双向认证成功了,移动端证书也导出了,,代码可以参考tomcat双向认证

tomcat https双向认证(包含PC端和移动端操作)_Angus博客的博客-CSDN博客

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

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