openssl生成数字证书CSR
一个故事讲明白加密与数字证书:https://www.cnblogs.com/franson-2016/p/5530671.html
1、方式一
1. 创建一个目录如Mytest, 进入该目录, 在该目录下打开命令行窗口
2. 启动openssl
openssl # 执行该命令即可
3. 使用openssl工具生成一个RSA私钥, 注意:生成私钥,需要提供一个至少4位的密码。
genrsa -des3 -out server.key 2048 // 2048私钥的位数,可以不指定,默认值:??? - des3: 使用3des对私钥进行加密,//使用req参数的可以不指定这个参数,加下面
4. 生成CSR(证书签名请求)过渡文件
会引导我们填写申请方的信息:国家,省份,城市,部门…, 格式是pem格式
req -new -key server.key -out server.csr #查看请求 req -in server.csr -text
5. 删除私钥中的密码, 第一步给私钥文件设置密码是必须要做的, 如果不想要可以删掉
rsa -in server.key -out server.key -out 参数后的文件名可以随意起
6. 生成自签名证书
x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #生成的证书是pem进行base64编码的 #查看方式 openssl x509 -in server.crt -text -noout #双击安装证书 #打开证书管理器 Win + R certmgr.msc
server.crt 证书 server.csr 过渡文件 server.key 私钥
在Windows下安装,Openssl-Win64.exe
进入到:C:\Program Files\OpenSSL-Win64\bin\openssl.exe
右键单击->管理员运行 -> OPenSSL >
如果不是管理员打开: Permission Denied —> 权限不够
执行 : genrsa -des3 -out server.key 2048
==自签名证书,自己颁发给自己,自己验证自己。==
2. 方式二
不需要生成csr,直接生成证书,没有指定Subject相关的数据,所以还会引导输入
openssl req -x509 -newkey rsa:4096 -keyout server2.key -out cert.crt -days 365 -nodes
-nodes 不设置密码
解析证书:
openssl x509 -in cert.crt -text
常见的证书格式
1. pem格式
我们使用openssl生成的都是pem格式的
解析过程
openssl x509 -in cert.crt -text
Privacy Enhanced Mail(信封)
查看内容,以”—–BEGIN…”开头,以”—–END…”结尾。
查看PEM格式证书的信息:
Apache和*NIX服务器偏向于使用这种编码格式。 openssl x509 -in certificate.pem -text -noout
2. der格式
我们使用Windows导出的可以使der
对于der格式的,解析方式如下:
openssl x509 -in itcastcrt.cer -text -inform der // 额外的参数 -inform der
Distinguished Encoding Rules
打开看是二进制格式,不可读。
Java和Windows服务器偏向于使用这种编码格式。
查看DER格式证书的信息
der是格式,与证书的后缀名没有直接关系 openssl x509 -in certificate.der -inform der -text -noout `请试试-pubkey参数
PKI的组成要素
PKI的组成要素主要有以下三个: