openssl 命令集合

1、证书生成

1.1 key文件的生成:

      opensslgenrsa -des3 -out server.key 2048    #需要输入密码

     openssl genrsa  -out server.key2048             # 不带密码的私钥

     将server.key文件转化为无密码格式:

     openssl rsa -in server.key -out server.key

    文件格式:

       -----BEGIN

    RSA PRIVATE KEY-----

    ###*****######

    -----END RSA PRIVATE KEY-----

1.2 证书生成文件生成:

openssl req -new -key server.key -out server.csr

1.3 根据CA证书,key,生成服务器证书:

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr

-out server.crt

2、证书查看

查看key

openssl rsa -noout -text -in ca.key

查看证书请求

openssl req -noout -text -in ca.csr

查看证书

openssl x509 -noout -text -in ca.crt

3、证书转化

证书有三种格式:

PEM(.pem) 前面命令生成的都是这种格式,

DER(.cer .der) Windows 上常见

PKCS#12文件(.pfx .p12) Mac上常见

PEM转DER

#  openssl x509 -outform der -in ca.crt -out ca.der

DER转PEM

# openssl x509 -inform der -in ca.der -out ca.crt

PEM转换为PKCS>

# openssl pkcs12 -export -out myserver.pfx -inkey myserver.key -in myserver.crt -certfile ca.crt

crt + key 转 pfx:【pfx证书安装包,方便双击安装证书】

#  openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

# pfx 转 pem :【curl 命令需要pem】

# openssl pkcs12 -in client.pfx -nodes -out client.pem

#.crt+key转p12【apache的cxf客户端支持jks和p12证书】

   # openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

crt转jks【jks支持存放信任证书,而pkcs12不支持,所以tomcat环境下配置ca只能使用jks才能保证ca密钥不泄露】

    keytool -import -v -trustcacerts -storepass defaultpwd -keypass defaultpwd -file ca.crt -keystore ca_only.jks

4、证书校验

    # 证书验证

     openssl verify ca.crt

    # 基于CA的证书校验

     openssl verify -CAfile ca.crt server.crt

5、文件签名

计算md5值:

# openssl dgst -md5 aa.log

# md5 aa.log                           #控制台命令

计算SHA1值:

# openssl dgst -sha1 aa.log

# shasum aa.log                    #控制台命令



证书(Certificate) - *.cer *.crt

私钥(Private Key) - *.key

证书签名请求(Certificate signing request) - *.csr

至于pem和der,是编码方式,以上三类均可以使用这两种编码方式,因此*.pem和*.der(少见)不一定是以上三种(Cert,Key,CSR)中的某一种

*.pem - base64编码

*.der - 二进制编码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容