搬运来源: https://blog.csdn.net/snans/article/details/117424407
一、在windows下生成OpenSSL自签证书
1、准备
编译好的OpenSSL下载地址: http://slproweb.com/products/Win32OpenSSL.html
此文下载的是64位的:Win64 OpenSSL v1.1.1k.EXE
安装openssl到E盘,路径为:E:\openssl
打开cmd.exe, cd到E:\openssl\bin下面:
2、首先,生成服务器端的私钥(key文件):
执行代码
openssl genrsa -des3 -out root.key 1024 //两种方法自己选,我用的这个 openssl genrsa -out root.key 2048
执行结果
进一步操作
输入密码:在些输入的密码为:123456
3、请求建立证书的申请文件root.csr:
执行代码
openssl req -new -key root.key -out root.csr
执行结果
进一步操作
输入国家,省份,城市,公司信息,证书发送邮箱地址和证书密码(服务器端):
4、创立一个为期10年的根证书root.crt
执行代码
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt
执行结果
进一步操作
输入的密码为:123456
5、建立服务器证书秘钥:
执行代码
openssl genrsa -des3 -out server.key 2048
执行结果
进一步操作
密码:123456
6、创立服务器证书申请文件,密码仍为123456:
执行代码
openssl req -new -key server.key -out server.csr
执行结果
进一步操作
输入国家,省份,城市,公司信息,证书发送邮箱地址和证书密码:
7、创立为期两年的服务器证书server.crt, 密码为123456:
执行代码
openssl x509 -req -days 730 -md5 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in server.csr -out server.crt
执行结果
8、查看是否建立成功:
路径到E:\OpenSSL-Win64\bin目录下,查看:
生成root系列和server系列
看到自己刚才建立的连接,表示成功!
二、windows已有证书pfx文件转化成key、crt文件
nginx代理的时候,需要填写证书的crt跟rsa文件路径,通过iis导出的证书是pfx文件(不知道nginx能不能直接用pfx文件,没有查看过相关资料),所以要通过pfx文件生成crt、rsa文件。
在第一部分准备中安装openssl,然后把pfx文件拷贝到openssl的bin目录下,使用以下命令:
openssl pkcs12 -in ***.pfx -nodes -out ***.pem openssl rsa -in ***.pem -out ***.key openssl x509 -in ***.pem -out ***.crt
这里有在线转化的链接,可以试试:
SSL证书格式转换工具
OpenSSL在线生成合成PFX文件