自定义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认证记录相关推荐

  1. 数字证书与实现双向SSL认证

    数字证书与实现双向SSL认证一:数字证书 什么是证书? 既然叫证书,肯定是用来证明什么东西的,比如身份,学历,能力等级.数字证书简单理解就是证明你在互联网中的身份.证书一般都需要有一个权威颁发机构,而 ...

  2. SSL证书是什么?SSL证书怎么申请?

    一.SSL证书是什么 SSL证书是数字证书的一种,由权威数字证书机构(CA)验证网站身份后颁发,可实现浏览器和网站服务器数据传输加密.网站安装SSL证书后会在浏览器显示安全锁标志,数据传输协议从htt ...

  3. 【SSL】ssl证书简介、ssl证书生成工具与ssl证书生成步骤

    ssl证书简介.ssl证书生成工具与ssl证书生成步骤 一.ssl证书是什么? 二.ssl证书生成工具有哪些? 2.1.工具一:CFSSL 2.2.工具二:OpenSSL 2.3.工具三:XCA 三. ...

  4. 什么是国密SSL证书?和普通SSL证书有什么区别?

    SSL证书能够有效提升网站数据传输的安全性,已成为政府企业网站提升数据安全的标配.而国密SSL证书由于加密算法不同,安全等级更高,逐渐受到越来越多用户的信赖和认可.那么国密SSL证书有哪些特点,它和传 ...

  5. 如何选购 SSL 证书(附免费SSL证书申请攻略)

    本文涵盖以下内容 1.SSL证书类型 2.如何选择SSL证书供应商 3.免费SSL证书评测和申请攻略 看官可以根据自己的需求直接跳到你想看的部分. 一.SSL证书类型 第一次选购 SSL证书,你一定很 ...

  6. ssl证书是什么,ssl证书有什么作用

    当今是网络时代,各种网站都出现了,但是网站的信息安全却遭受威胁.因此,给网站配置一种安全证书是很有必要的,当企业给网站配置了安全证书之后,就能够给网站好的安全防护.如今,很多企业都会给网站配置ssl证 ...

  7. 阿里云 SSL证书部署(DigiCert 免费版 SSL)

    转载请注明: 藏羚骸的博客~阿里云 SSL证书部署(DigiCert 免费版 SSL). 阿里云DigiCert 免费版 SSL 有效期一年,过期后需要重新部署SSL所以,不管是第一次部署SSL还是刚 ...

  8. nginx配置ssl加密(单双向认证、部分https)

    nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始采用的是全站加密,所有访问http:80的请求强制转换( ...

  9. Thawte的单域名SSL证书和泛域名SSL证书

    Thawte是存在时间比较长的SSL证书品牌,目前已经是Digicert旗下的子品牌,根证书也是Digicert.Thawte旗下的SSL证书产品有单域名SSL数字证书也有泛域名SSL数字证书,今天随 ...

最新文章

  1. spring Batch实现数据库大数据量读写
  2. 如何使用OpenCV实现图像均衡???
  3. mysql的join算法,Mysql Join 连接算法
  4. 蒙特卡洛积分(Monte Carlo Integration)应用:利用蒙特卡洛积分生成 McBeth表
  5. 莺颠燕狂的拼音及解释
  6. V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!
  7. php split to array,Split php varibale with JS into array
  8. Docker 之 概念介绍
  9. Atitit 定时器timer 总结 目录 1. 定时器 循环定时器 和timeout超时定时器 1 2. Spring定时器 1 2.1. 大概流程 1 2.2. 核心源码springboot 1
  10. 如何构建一个可用的企业级API网关?
  11. 简单的Flash网络游戏源代码
  12. python下载不了怎么回事_python怎么下载
  13. shell脚本学习教程(全网最全教学)
  14. win10如何修改鼠标指针样式
  15. 从0开始移植冒险岛online,和小伙伴一起在局域网或私服怀旧吧
  16. 关于php的梗儿_php是世界上最好的语言是什么梗?
  17. 京东如何建设基于云原生架构的监控 - 日志系统?
  18. 如何成为名副其实的测试架构师?
  19. 照片和木马合成一张照片
  20. java例题 汽油检测

热门文章

  1. 【java笔记】Stream流(2):获取流的两种方法
  2. 【深度优先搜索】计蒜客:Betsy的旅行
  3. 2012年软件开发者薪资调查报告
  4. MFC窗口最小化到托盘
  5. jquery ajax实例 php,jquery中各个ajax实例操作
  6. Nginx页面乱码问题
  7. Protocol ‘https‘ not on whitelist ‘file,crypto‘ ——m3u8下载协议不在白名单,m3u8下载器推荐
  8. java国际象棋棋牌_java使用swing绘制国际象棋棋盘
  9. matlab怎么相加相同id的几行,matlab几个有用的技巧
  10. 如何设置几个循环出来的span其中一个宽度_css几个概念