ESSAY / NOTE

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参数
3. windows导数格式选择 PKI的组成要素 PKI的组成要素主要有以下三个: - 用户 --- 使用PKI的人 - 认证机构 --- 颁发证书的人 - 仓库 --- 保存证书的数据库