Nginx配置https双向验证
服务端验证(ca机构证书)
客户端验证(服务器自签证书)
本文用的阿里云签发的免费证书实验,下载Nginx安装ssl,文件夹有两个文件
这两个文件用于做服务器https验证
配置如下:
自签证书步骤如下:
ca根证书生成
创建ca私钥
openssl genrsa -out ca.key 2048
生成ca证书
openssl req -new -x509 -days 36500 -key ca.key -out ca.crt
客户端证书生成
创建客户端私钥
openssl genrsa -out client.pem 2048 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 36500 -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证书管理中可看到已导入
确认即可访问
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。