美文网首页
OpenSSL自签证书

OpenSSL自签证书

作者: 随风摇摆水杉树 | 来源:发表于2021-04-18 14:34 被阅读0次

    一、证书标准及文件后缀说明

    • X.509
      X.509 是密码学里公钥证书的格式标准。证书组成结构标准用ASN.1(一种标准的语言)来进行描述。
    • ASN.1
      ASN.1抽象语法标记(Abstract Syntax Notation One) ASN.1是一种 ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序。
    • DER
      DER(Distinguished Encoding Rules,可辨别编码规则)。ASN.1对象的编码是ASN.1标准的重要部分,通常采用的是BER,而DER则是其一个子集。
    • .csr
      这是证书签名请求文件。格式为PKCS#10,该格式在RFC 2986中定义。它包括所请求证书的秘钥详细信息,比如主题、组织、国家、单位等,以及要签名的证书的公共秘钥。CA根据CSR文件提供的信息进行签名后返回签名证书,返回的证书就是公共证书(包含公钥,不包含私钥)。
    • .pem
      定义在RFCs 14211424,这是一个容器格式规范,也许只包含公钥,也许包含完整的签名路径链,包括公钥、私钥、根证书。PEM是Privacy Enhanced Mail的缩写,它是一个失败的保护电子邮件的方法,但是这个容器格式一直在使用。
    • .key
      这是一个PEM格式的文件,只包含证书的私钥。
    • .pkcs12 .pfx .p12
      最初定义在RSA的Public-Key Cryptography Standards,"12"这个版本开始是微软使用,后来定义在 RFC 7292。这是一个密码容器格式,可以包含公钥和私钥证书对。跟.pem文件不同,这个容器格式是加密的。java的keytool工具可以产生这种格式的证书。
    • .der
      ASN.1语法的编码规则之一。.pem文件是.der文件的Base64版本。
    • .cert .cer .crt
      .pem文件的不同格式,也可以是.der文件。这些文件在Windows下可以直接识别,.pem无法识别。
    • .p7b .keystore
      定义在RFC 2315这是Windows用于证书交换的一种格式,java支持该格式,通常用.keystore作为后缀。
    • .crl
      证书吊销列表。

    二、自签证书操作

    自签证书包括两大步骤,第一步制作根证书,第二部制作应用证书。其中根证书用来签发应用证书。
    1.制作根证书

    openssl req -newkey rsa:2048  -keyout jianshu.key -x509 -days 36500 -out jianshu-root.pem
    

    通过openssl命令生成jianshu.key(私钥文件)和jianshu-root.pem(根证书文件)。

    生成根证书.png

    2.生成应用证书私钥

    openssl genrsa -aes256 -out app.key 2048
    
    应用私钥.png

    3.生成应用证书请求文件

    openssl req -new -key app.key -out app-csr.csr
    
    应用证书请求文件.png

    4.用根证书签发应用证书

    openssl x509 -req -sha256 -days 365 -in app-csr.csr -CA jianshu-root.pem -CAkey jianshu.key -CAcreateserial  -out app-crt.pem
    
    使用根证书签发应用证书.png

    如果在windows平台下可以使用以下命令将pem格式的证书转换成windows可识别的证书:

     openssl x509 -inform pem -in app-crt.pem -out app-crt.cer
    

    三、参考资源

    X.509
    ASN.1
    简书上解释ASN.1的文章
    DER
    serverfault论坛上关于openssl各个文件后缀的解释

    相关文章

      网友评论

          本文标题:OpenSSL自签证书

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