自定义SSL证书实现单双向ssl认证记录
自定义SSL证书:
1.ca证书
#openssl genrsa -out ca.key 2048
#openssl req -new -key ca.key -out ca.csr
#openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
2.服务端证书
#openssl genrsa -des3 -out server.key 1024
#openssl req -new -key server.key -out server.csr
#mkdir -p ./demoCA/newcerts
#touch demoCA/index.txt
#touch demoCA/serial
#echo 01 > demoCA/serial
#openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
3.客户端证书
#openssl genrsa -des3 -out client.key 1024
#openssl req -new -key client.key -out client.csr
#rm -f demoCA/index.txt
#touch demoCA/index.txt
#openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key
有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成:
#cat client.crt client.key > client.pem
#cat server.crt server.key > server.pem
浏览器导入证书需要p12格式:
#openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
4.配置nginx服务器验证
#cat /usr/local/nginx/conf/nginx.conf
listen 443 ssl spdy;
server_name www.testssl.com;
root /usr/share/nginx/html;
index index.html index.htm;
ssl on;
ssl_certificate /data/ssl/server.crt;
ssl_certificate_key /data/ssl/server.key;
#ssl_client_certificate /usr/local/nginx/ssl/ca.crt;
#ssl_verify_client on; 服务器验证客户端,暂时不开启,让没有证书的客户端可以访问,先完成单向验证,然后再验证双向认证。
#以下是开启一些优化ssl的参数
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000";
ssl_stapling on;
ssl_stapling_verify on;
resolver 223.5.5.5 223.6.6.6 valid=300s;
resolver_timeout 10s;
5.配置客户端浏览器导入p12证书,验证双向认证。
转载于:https://www.cnblogs.com/wsjhk/p/7852420.html
自定义SSL证书实现单双向ssl认证记录相关推荐
- 数字证书与实现双向SSL认证
数字证书与实现双向SSL认证一:数字证书 什么是证书? 既然叫证书,肯定是用来证明什么东西的,比如身份,学历,能力等级.数字证书简单理解就是证明你在互联网中的身份.证书一般都需要有一个权威颁发机构,而 ...
- SSL证书是什么?SSL证书怎么申请?
一.SSL证书是什么 SSL证书是数字证书的一种,由权威数字证书机构(CA)验证网站身份后颁发,可实现浏览器和网站服务器数据传输加密.网站安装SSL证书后会在浏览器显示安全锁标志,数据传输协议从htt ...
- 【SSL】ssl证书简介、ssl证书生成工具与ssl证书生成步骤
ssl证书简介.ssl证书生成工具与ssl证书生成步骤 一.ssl证书是什么? 二.ssl证书生成工具有哪些? 2.1.工具一:CFSSL 2.2.工具二:OpenSSL 2.3.工具三:XCA 三. ...
- 什么是国密SSL证书?和普通SSL证书有什么区别?
SSL证书能够有效提升网站数据传输的安全性,已成为政府企业网站提升数据安全的标配.而国密SSL证书由于加密算法不同,安全等级更高,逐渐受到越来越多用户的信赖和认可.那么国密SSL证书有哪些特点,它和传 ...
- 如何选购 SSL 证书(附免费SSL证书申请攻略)
本文涵盖以下内容 1.SSL证书类型 2.如何选择SSL证书供应商 3.免费SSL证书评测和申请攻略 看官可以根据自己的需求直接跳到你想看的部分. 一.SSL证书类型 第一次选购 SSL证书,你一定很 ...
- ssl证书是什么,ssl证书有什么作用
当今是网络时代,各种网站都出现了,但是网站的信息安全却遭受威胁.因此,给网站配置一种安全证书是很有必要的,当企业给网站配置了安全证书之后,就能够给网站好的安全防护.如今,很多企业都会给网站配置ssl证 ...
- 阿里云 SSL证书部署(DigiCert 免费版 SSL)
转载请注明: 藏羚骸的博客~阿里云 SSL证书部署(DigiCert 免费版 SSL). 阿里云DigiCert 免费版 SSL 有效期一年,过期后需要重新部署SSL所以,不管是第一次部署SSL还是刚 ...
- nginx配置ssl加密(单双向认证、部分https)
nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始采用的是全站加密,所有访问http:80的请求强制转换( ...
- Thawte的单域名SSL证书和泛域名SSL证书
Thawte是存在时间比较长的SSL证书品牌,目前已经是Digicert旗下的子品牌,根证书也是Digicert.Thawte旗下的SSL证书产品有单域名SSL数字证书也有泛域名SSL数字证书,今天随 ...
最新文章
- spring Batch实现数据库大数据量读写
- 如何使用OpenCV实现图像均衡???
- mysql的join算法,Mysql Join 连接算法
- 蒙特卡洛积分(Monte Carlo Integration)应用:利用蒙特卡洛积分生成 McBeth表
- 莺颠燕狂的拼音及解释
- V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!
- php split to array,Split php varibale with JS into array
- Docker 之 概念介绍
- Atitit 定时器timer 总结 目录 1. 定时器 循环定时器 和timeout超时定时器	1 2. Spring定时器	1 2.1. 大概流程	1 2.2. 核心源码springboot	1
- 如何构建一个可用的企业级API网关?
- 简单的Flash网络游戏源代码
- python下载不了怎么回事_python怎么下载
- shell脚本学习教程(全网最全教学)
- win10如何修改鼠标指针样式
- 从0开始移植冒险岛online,和小伙伴一起在局域网或私服怀旧吧
- 关于php的梗儿_php是世界上最好的语言是什么梗?
- 京东如何建设基于云原生架构的监控 - 日志系统?
- 如何成为名副其实的测试架构师?
- 照片和木马合成一张照片
- java例题 汽油检测
热门文章
- 【java笔记】Stream流(2):获取流的两种方法
- 【深度优先搜索】计蒜客:Betsy的旅行
- 2012年软件开发者薪资调查报告
- MFC窗口最小化到托盘
- jquery ajax实例 php,jquery中各个ajax实例操作
- Nginx页面乱码问题
- Protocol ‘https‘ not on whitelist ‘file,crypto‘ ——m3u8下载协议不在白名单,m3u8下载器推荐
- java国际象棋棋牌_java使用swing绘制国际象棋棋盘
- matlab怎么相加相同id的几行,matlab几个有用的技巧
- 如何设置几个循环出来的span其中一个宽度_css几个概念