openssl 生成pfx
证书可以通过几种渠道获得, 可以购买, 可以使用IIS生成, 也可以使用Openssl这样的工具生成证书.
本篇文章主要介绍openssl生成pfx文件
首选去网关下载openssl
下载地址:https://slproweb.com/products/Win32OpenSSL.html
安全教程就不讲解 直接下一步下一步就行了
安装完了找到 安装目录 如果没有选择安装目录默认安装在 C:\Program Files\OpenSSL-Win64
找到这个目录并且配置环境变量 :
然后打开磁盘新建一个空文件夹
E:\openssl
openssl是我在E盘新建的空文件夹
然后打开openssl文件夹 按快捷键 Alt+F 打开 windows powershell (注:用管理员身份启动)
然后进入输入
openssl
执行命令
req -newkey rsa:2048 -nodes -keyout socialnetwork.key -x509 -days 365 -out socialnetwork.cer
具体的信息就不管了. 这个证书的有效期是365天, 命令参数里面设定的.
这是生成的文件
一个证书和一个key, 然后我们需要给他们俩封装成一个文件, 以便identity server可以使用它们去正确的签名tokens. 这就需要使用另一个命令:
pkcs12 -export -in socialnetwork.cer -inkey socialnetwork.key -out socialnetwork.pfx
这里发生了错误...那就使用管理员打开命令行:
输入密码和确认密码后, 没问题了.(注意:这里选择不要使用右边的小键盘输入密码)
pfx就是我们需要的文件.
pfx文件生成crt文件与key文件
把pfx格式证书转换成pem文件
openssl pkcs12 -in xxx.pfx -nodes -out server.pem #执行该命令后提示输入pfx证书的密码,输入完之后,pem文件就创建好了
把pem文件再转换成 key文件
openssl rsa -in server.pem -out server.key
把pem文件再转换成 crt文件
openssl x509 -in server.pem -out server.crt
生成的pem文件和crt文件和key文件和pfx文件在同一个目录下
从pfx提取密钥对(如果pfx证书已加密,会提示输入密码。)
openssl pkcs12 -in socialnetwork.pfx -nocerts -nodes -out server.key
提取公钥
openssl rsa -in server.key -pubout -out server_pub.key
提取私钥
openssl rsa -in server.key -out server_pri.key