OpenSSL是一个功能强大的命令行工具。可以用来完成公钥体系以及https相关的诸多任务。新手用户可能会对OpenSSL命令用法还不太了解。本文整理了常用的OpenSSL命令的使用方法。例如生成CSR文件。SSL证书格式转换等。
一。使用OpenSSL命令生成CSR文件
有效的SSL证书通常是由可信权威的CA机构颁发的。我们在申请SSL证书前。需利用相关工具来生成一个证书签名请求文件(CSR文件)。该文件内容主要包括密钥对中的公钥。以及其他一些额外信息。
1。生成CSR – RSA加密算法
openssl req -out www_sslaaa_com.csr -new -sha256 -newkey rsa:2048 -nodes -keyout www_sslaaa_com.key
2。生成CSR – ECC加密算法
openssl ecparam -out server.key -name prime256v1 -genkey
openssl req -new -key server.key -out server.csr
3。生成自签发证书命令
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
4。从密钥生成CSR
openssl req -out CSR.csr -key privateKey.key -new
5。从证书文件生成CSR
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
6。去除Key密码
openssl rsa -in privateKey.pem -out newPrivateKey.pem
二。SSL证书常见格式转换
1。PEM转DER
可以将PEM编码的证书domain.crt转换为二进制DER编码的证书domain.der:
openssl x509 \
-in domain.crt \
-outform der -out domain.der
DER格式通常用于Java。
2。DER转PEM
同样。可以将DER编码的证书(domain.der)转换为PEM编码(domain.crt):
openssl x509 \
-inform der -in domain.der \
-out domain.crt
3。PEM转PKCS7
将PEM证书(domain.crt和ca-chain.crt)添加到一个PKCS7(domain.p7b)文件中:
openssl crl2pkcs7 -nocrl \
-certfile domain.crt \
-certfile ca-chain.crt \
-out domain.p7b
使用-certfile选项指定要添加到PKCS7中的证书。
PKCS7文件也被称为P7B。通常用于Java的Keystore和微软的IIS中保存证书的ASCII文件。
4。PKCS7转换为PEM
使用下面的命令将PKCS7文件(domain.p7b)转换为PEM文件:
openssl pkcs7 \
-in domain.p7b \
-print_certs -out domain.crt
如果PKCS7文件中包含多个证书。例如一个普通证书和一个中间CA证书。那么输出的PEM文件中将包含所有的证书。
5。PEM转换为PKCS12
可以将私钥文件(domain.key)和证书文件(domain.crt)组合起来生成PKCS12 文件(domain.pfx):
openssl pkcs12 \
-inkey domain.key \
-in domain.crt \
-export -out domain.pfx
上面的命令将提示你输入导出密码。可以留空不填。
PKCS12文件也被称为PFX文件。通常用于导入/导出微软IIS中的证书链。
6。PKCS12转换为PEM
另外。我们还可以将PKCS12文件(domain.pfx)转换为PEM格式(domain.combined.crt):
openssl pkcs12 \
-in domain.pfx \
-nodes -out domain.combined.crt
要注意的是。如果PKCS12文件中包含多个条目。例如证书及其私钥。那么生成的PEM文件中将包含所有条目。
本文地址:https://gpu.xuandashi.com/33091.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!