• openssl 进行证书格式的转换


    各类证书由于存储的内容不同(如是否包含公钥/私钥是否加密存储/单一证书或多证书等)、采用编码不同(DER/BASE64)、标准不同(如PEM/PKCS),所以尽管X.509标准规定了证书内容规范,但证书文件还是五花八门。好在openssl对这些不同的标准都有着不错的支持,可以用来进行不同格式证书的转换。

    大体来说,证书转换要作的工作有这么几种


    编码转换:DER<-->BASE64 
    不同证书标准的转换:PKCS系列<-->PEM/CER 
    私钥的增/减/提取/转换 
    ... 

    PEM--DER/CER(BASE64--DER编码的转换)

           openssl x509 -outform der -in certificate.pem -out certificate.der

    PEM--P7B(PEM--PKCS#7)

           openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

    PEM--PFX(PEM--PKCS#12)

           openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

    PEM--p12(PEM--PKCS#12)

           openssl pkcs12 -export -out Cert.p12 -in Cert.pem -inkey key.pem

    CER/DER--PEM(编码DER--BASE64)

           openssl x509 -inform der -in certificate.cer -out certificate.pem

    P7B--PEM(PKCS#7--PEM)

           openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

    P7B--PFX(PKCS#7--PKCS#12)

           openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
           openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer

    PFX/p12--PEM(PKCS#12--PEM)

           openssl pkcs12 -in certificate.pfx -out certificate.cer
           如无需加密pem中私钥,可以添加选项-nodes;
           如无需导出私钥,可以添加选项-nokeys; 

    PEM BASE64--X.509文本格式

           openssl x509 -in Key.pem -text -out Cert.pem

    PFX文件中提取私钥(.key)

           openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key

    PEM--SPC

           openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc

    PEM--PVK(openssl 1.x开始支持)

           openssl rsa -in mycert.pem -outform PVK -pvk-strong -out mypvk.pvk

    PEM--PVK(对于openssl 1.x之前的版本,可以下载pvk转换器后通过以下命令完成)

           pvk -in ca.key -out ca.pvk -nocrypt -topvk

    PVK格式更多参考:http://www.drh-consultancy.demon.co.uk/pvk.html

    openssl更多选项及功能,请参考openssl手册

  • 相关阅读:
    xdg-open filename 以相应的程序 打开文件
    列出zip文件内全部内容 当前目录下的所有文件压缩成zip格式的文件(file.zip)
    网线的制做
    多少天以后的时期和多少天以前的日期
    更数数据库用户密码
    tengine-2.1.0 源码安装
    inode
    mysql 查看用户的权限
    SQL Server 2008 R2占用内存越来越大两种解决方法
    SQL死锁知识及解决办法
  • 原文地址:https://www.cnblogs.com/isItOk/p/5161105.html
Copyright © 2020-2023  润新知