美文网首页
openssl 命令集合

openssl 命令集合

作者: 3stoneBrother | 来源:发表于2018-12-04 17:17 被阅读0次

    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 - 二进制编码

    相关文章

      网友评论

          本文标题:openssl 命令集合

          本文链接:https://www.haomeiwen.com/subject/plrvcqtx.html