nginx配置https双向验证

服务端验证(ca机构证书)

客户端验证(服务器自签证书)

本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件

这两个文件用于做服务器https验证

配置如下:

自签证书步骤如下:

ca根证书生成

创建ca私钥

openssl genrsa -out ca.key 

生成ca证书

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

客户端证书生成

创建客户端私钥

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

生成签发请求

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

使用ca证书进行签发

openssl x509 -req -sha256 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days  -out client.crt

验证签发证书是否正确

[root@danny ca]# openssl verify -CAfile ca.crt client.crt
client.crt: OK

制作p12证书(导入浏览器)

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

操作结束后目录文件

[root@danny ca]# ls
ca.crt ca.key ca.pem ca.srl client.crt client.csr client.key client.p12 client.pem

验证,导出client.p12点击安装至浏览器,重启浏览器。验证过程截图如下:

未开启双向认证ssl_verify_client on时(客户端可以直接https访问)

开启ssl_verify_client on但是没有安装客户端证书时

安装证书并重启浏览器访问

https证书管理中可看到已导入

 确认即可访问

补充1:如果使用ca机构颁发的证书ssl_certificate,ssl_certificate_key 使用ca机构颁发的证书,客户端证书ssl_client_certificate使用自己生成的证书即可。

 

补充2:在阿里云上申请的https证书的是pem格式,转成cer,crt

openssl x509 -outform der -in xxx.pem -out xxx.cer
openssl x509 -outform der -in xxx.pem -out xxx.crt

补充3:crt文件转换为pem文件

openssl x509 -in xxx.crt -out xxx.pem

补充4:生成安卓所有bks包(windos的jdk环境命令行,具体步骤可百度)

keytool -importcert -keystore client.bks -file client.crt -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

补充5:常见证书格式说明

PKCS#7:Cryptographic Message Syntax Standard

PKCS#10:Certification Request Standard

PKCS#12:Personal Information Exchange Syntax Standard

X.509:是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。

PKCS#7:常用的后缀是: .P7B .P7C .SPC

PKCS#12:常用的后缀有: .P12 .PFX

X.509:DER 编码(ASCII)的后缀是: .DER .CER .CRT

X.509:PAM 编码(Base64)的后缀是: .PEM .CER .CRT

.cer/.crt:是用于存放证书,它是2进制形式存放的,不含私钥。

.pem:跟crt/cer的区别是它以Ascii来表示。

pfx/p12:用于存放个人证书/私钥,他通常包含保护密码,2进制方式

p10:是证书请求

p7r:是CA对证书请求的回复,只用于导入

p7b:以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

nginx配置https双向验证(ca机构证书+自签证书)的更多相关文章

  1. linux:Nginx+https双向验证(数字安全证书)

    本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...

  2. nginx配置ssl双向验证 nginx https ssl证书配置

    1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...

  3. Nginx配置https双向认证

    1.      前期的准备工作: 安装openssl和nginx的https模块 cd ~/ mkdir ssl cd ssl mkdir demoCA cd demoCA mkdir newcert ...

  4. nginx 配置https并自签名证书

    2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: daodaoliang@yeah.net 参考链接: ...

  5. 购买https证书以及nginx配置https

    文章来源 运维公会:购买https证书以及nginx配置https 1.https的作用 https的全名是安全超文本传输协议,是在http的基础上增加了ssl加密协议.在信息传输的过程中,信息有可能 ...

  6. nginx配置https及Android客户端访问自签名证书

    前一篇随笔通过keytool生成keystore并为tomcat配置https,这篇随笔记录如何给nginx配置https.如果nginx已配置https,则tomcat就不需要再配置https了.通 ...

  7. nginx配置https转发到tomcat(使用自签名的证书)

    一.使用openSSL生成自签名的证书 1.生成RSA私钥 命令:openssl genrsa -des3 -out server.key 1024 说明:生成rsa私钥,des3算法,1024强度, ...

  8. 【Nginx(五)】Nginx配置Https证书

    大致的流程如下 1.申请Https证书,绑定域名信息; 由于自己的服务器是腾讯云服务器, 这里就在腾讯云上申请SSL证书, 申请地址: https://console.cloud.tencent.co ...

  9. Java Https双向验证

    CA: Certificate Authority,证书颁发机构 CA证书:证书颁发机构颁发的数字证书 参考资料 CA证书和TLS介绍 HTTPS原理和CA证书申请(满满的干货) 单向 / 双向认证 ...

随机推荐

  1. RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例

    功能描述 无论什么系统,除了常规的单表处理外,主从表的应用都是非常普遍的,RDIFramework.NET V3.3 WinForm版本中新增了一个主从表的事例供大家参考.主从表的界面设计大同小异,主 ...

  2. React引领未来用户界面——心莱科技内部直播分享会

    视频地址(请点开链接观看视频)https://v.qq.com/x/page/l08427ukdjo.html 本周,心莱科技在公司内部就开展了一场前端技术分享会,使用了直播模式进行分享,主要分享关于 ...

  3. keil教程之新建软件工程

    前言 工欲善其事,必先利其器.要学好52单片机,就要会用keil写程序.不然,谈何学习单片机.下面介绍keil的使用. keil简介 Keil C51是美国Keil Software公司出品的51系列 ...

  4. 简述在ADO中使用接口的抽象数据提供程序以及ADO.NET数据提供程序工厂模型

    如何在ADO中使用接口的抽象数据提供程序 在cofig中 appSettings下,配置数据连接类型 <appSettings> <!--这个键值映射到枚举值中的某个值--> ...

  5. PhotoshopCS5中将单位修改成百分比

    PhotoshopCS5中单位默认是厘米或px,当用同一动作修改两张照片时,会因为片子大小不同,修改收到影响.若将单位修改成百分比,则动作会根据照片大小,自动进行调整. 1)选择菜单栏中的“编辑”选项 ...

  6. 学习day03

    1.结构标记  *****   做布局    1.<header>元素    <header></header>    ==> <div id=&quo ...

  7. SharePoint代码建表(实战)

    分享人: 广州华软 无名 一. 前言 虽然SharePoint提供可视化界面建表,但是,不利于开发自动化部署.通常,如果通过手动建表,我们先在测试环境建表,然后存为模板,再上传到实际环境,最后根据模板 ...

  8. Android为TV端助力 转载:RecyclerView分页加载

    package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.L ...

  9. vs code配置flutter开发android

    下载flutter_sdk压缩包,解压到指定目录,把sdk的bin目录添加到系统环境变量Path 设置中国临时镜像:添加两个系统变量 FLUTTER_STORAGE_BASE_URL=https:// ...

  10. OpenGL Windows 窗口程序环境搭建

    OpenGL环境搭建步骤: Downloading OpenGL 根据官网的说法: In all three major desktop platforms (Linux, macOS, and Wi ...