目录

SSL/TLS

1、搭建OPenssl服务器

1.1、下载

1.2、安装下载好的exe程序

2、服务器端证书-生成key、CSR、CRT

2.1、进入如下目录,执行cmd

2.2、生成一个私钥key

2.3、由生成的私钥key生成一个待签名的CSR证书文件(公钥)

2.4、查看证书内容

3、自建CA证书

3.1、创建CA私钥

3.2、生成CA证书

3.3、生成CA根证书

3.4、对服务器证书签名

4、nginx配置ssl,支持https


注意:以下内容有参考其它资料。

SSL/TLS

TLS(Transport Layer Security) 是SSL(Secure Socket Layer) 的后续版本

证书生成以及自签名证书
查看系统已存证书:certmgr.msc,运行中输入可以查看证书管理器win+r。
CSR:证书签名请求文件,一个文件的后缀。
CRT:证书
key: 私钥,由key生成CSR,等待被签名。

1、搭建OPenssl服务器

1.1、下载

OPenSSL自签名下载:http://slproweb.com/products/Win32OpenSSL.html

1.2、安装下载好的exe程序

2、服务器端证书-生成key、CSR、CRT

2.1、进入如下目录,执行cmd

2.2、生成一个私钥key

使用openssl工具生成一个私钥key:

openssl.exe genrsa -des3 -out d:/a/server.key 

生成了一个key文件:

2.3、由生成的私钥key生成一个待签名的CSR证书文件(公钥)

openssl.exe req -new -key d:/a/server.key -out d:/a/server.csr

-key:生成的私钥文件

-new:新创建一个文件

这个证书不能直接使用,需要签名生成一个CRT证书才能使用。

证书中信息:

·Country Name ( 2 letter code) [XX] :CN #请求签署人的信息

·State or Province Name(fullname) []:#请求签署人的省份名字

·Locality Name(eg, city) [Default City] :#请求签署人的城市名字

·Organization Name(eg, company) [Default Company Ltd] :#请求签署人的公司

·OrganizationalUnit Name(eg, section) []:#请求签署人的部门名字

·CommonName(eg, your name or your servers hostname) []:#这里一般填写服务器域名

2.4、查看证书内容

openssl.exe req -text -in d:/a/server.csr

3、自建CA证书

自建CA
我们用的操作系统(windows, linux, unix, android, ios等) 都预置了很多信任的根证书, 比如我的windows中就包含VeriSign的根证书, 那么浏览器访问服务器比如支付宝www.alipay.com时, SSL协议握手时服务器就会把它的服务器证书发给用户浏览器, 而这本服务器证书又比如是VeriSign颁发的,自然就验证通过了。

3.1、创建CA私钥

openssl.exe genrsa -out d:/a/myca.key 2048

3.2、生成CA证书

openssl.exe req -new -key d:/a/myca.key -out d:/a/myca.csr

3.3、生成CA根证书

openssl.exe x509 -req -in d:/a/myca.csr -extensions v3_ca -signkey d:/a/myca.key -out d:/a/myca.crt

3.4、对服务器证书签名

openssl x509 -days 365 -req -in d:/a/server.csr -extensions v3_req -CAkey d:/a/myca.key -CA d:/a/myca.crt -CAcreateserial -out d:/a/server.crt

用CA的key对服务器端的公钥做签名。

4、nginx配置ssl,支持https

需要服务端的证书CRT和私钥key,所以需要把上面生成的服务端证书server.key和server.crt传输到nginx所在的服务器。

需要在nginx.conf文件中添加:

server {listen 443 ssl;server_name localhost;ssl_certificate /opt/cer/server.crt;ssl_certificate_key /opt/cer/server.key;location /ftp {root   /home/ftpadmin;index  index.html index.htm;}}server {listen       8080;server_name  localhost;rewrite ^/(.*)$ https://localhost:443/$1 permanent;}

配置后重新启动需要输入密码,这里自己定义的server.key的密码是:123456

配置完,重启nginx服务,访问如下:

如果想让https访问时不再提示不安全,需要把ca的crt证书安装到浏览器所在服务器的证书管理器中,因为这个证书时自己给自己签名的,是不受信任的,要想被信任,需要双击安装到受信任的根证书颁发机构存储区。从下图可以看出自己给自己颁发的。

5、一个免费的ssl证书网站

FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站

https-OPenSSL证书生成及自签名证书相关推荐

  1. nginx配置https访问 生成ssl自签名证书,浏览器直接访问

    问题 nginx配置自签名ssl证书,来支持https访问nginx,在浏览器中访问nginx时,提示有风险.而访问其他各大网站时,也是使用了https协议,为什么可以直接访问,而不提示有风险呢? 解 ...

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

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

  3. SSL安全证书中的代码签名证书

    SSL证书是一种数字证书,它既可以保护网站信息传输安全--域名SSL证书,也可以保护软件代码分发时的安全--代码签名证书.目前代码签名证书分为OV企业型代码签名证书和EV增强型代码签名证书,这两种代码 ...

  4. 单位OV代码签名证书与EV代码签名证书有什么区别

    以下内容由SSL盾www. ssldun .com整理发布 代码签名证书由权威CA机构验证软件开发者身份后签发,让软件开发者可以使用代码签名证书,对其开发的软件代码进行数字签名,用于验证开发者身份真实 ...

  5. IIS 使用OpenSSL 生成的自签名证书,然后使用SingalR 客户端访问Https 站点通信

    使用SignalR 的客户端去发送消息给使用 https 部署的站点,官方文档目前并没有详细的教程,所以在此记录下步骤: 使用管理员身份打开cmd 窗口,选择一个整数保存文件夹的地址,切换到对应的文件 ...

  6. openssl qt 生成秘钥_OpenSSL证书生成(Windows环境)

    本文根据这篇博文(http://lovesea.blog.51cto.com/382446/95572)和<OpenSSL与网络信息安全:基础.结构和指令>一书整理.关于OpenSSL在W ...

  7. 生成SSL自签名证书

    自签名证书浏览器是不认可的,但学习一下还是很有必要的. 创建SSL证书私钥,期间需要输入两次用户名和密码,证书名称命名为c.key openssl genrsa -des3 -out c.key 20 ...

  8. OpenStack 给nova组件 vnc 配置https(SSL)自验证签名证书

    先说解决办法以及结果 解决办法:Nginx 转发 结果:只转发 生成vnc 的console 地址,拼凑出https,能在Https web应用即可,比如把console url (控制台地址)ifr ...

  9. 如何生成Android平台签名证书

    目录 一.安装 JRE 环境 二.生成签名证书 三.查看证书信息 一.安装 JRE 环境 推荐使用 JRE8,下载地址:https://www.oracle.com/technetwork/java/ ...

最新文章

  1. java modbus通讯协议_物联通讯协议一(Modbus)
  2. X509证书 指定了无效的提供程序类型 System.Security.Cryptography.CryptographicException 错误解决方法
  3. 青少年是维护网络安全的主力军
  4. 开发linux显卡驱动,显卡驱动开发DRM入门--Apple的学习笔记
  5. 02 基本序列以及序列表示
  6. 字幕学英语app隐私政策网址(URL)
  7. RDBMS 与 非RDBMS
  8. 函数式编程语言天生就慢吗?
  9. 双11特刊 | 云数据库RDS如何顺滑应对流量洪峰
  10. [从架构到设计]第一回:设计,应该多一点
  11. php 费率计算_如何计算您的小时费率
  12. 第十二章 国民收入的决定:AD-AS模型
  13. Codeforces 刷水记录
  14. English: date time
  15. Linux中ls -al(ls -l)命令中的各个参数的含义
  16. java制作表白软件手机版下载_表白图片制作软件下载-表白图片制作 安卓版v1.0-PC6安卓网...
  17. mysql统计24小时数据
  18. python的逆袭之路_菜鸟逆袭之路:从月薪8千到2万,勇敢的去做改变才会成功
  19. bodyguard 保镖 护卫队 有关能力
  20. 美云智数聚焦财务数字化,加强财务功能纵深

热门文章

  1. shell迷你版监控脚本
  2. PAT(乙级) 1032 挖掘机技术哪家强 (20 分)(C语言)
  3. 微信中打开被链接提示浏览器打开页面下载APP的实现方法与隐藏投诉举报按钮的实现演示
  4. 分治法-循环赛日程表问题
  5. 微信小程序不同机型底部安全区域问题
  6. 表格table及单元格合并
  7. C语言 递归函数实现二分查找
  8. 我用 MATLAB 复刻了抖音爆火小游戏 苹果蛇
  9. 升级Linux内核(CentOS 7)
  10. 提升宝宝智力的40个简单方法