`

使用openssl进行证书格式转换

    博客分类:
  • ssl
阅读更多

各类证书由于存储的内容不同(如是否包含公钥/私钥是否加密存储/单一证书或多证书等)、采用编码不同(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手册

分享到:
评论

相关推荐

    利用OpenSSL命令进行SSL证书格式转换(Certificates Formats).docx

    在本文中,我们将探索使用 OpenSSL 命令进行 SSL 证书格式转换的方法。SSL 证书格式转换是网站管理员和开发者经常遇到的一个问题,无论是从商家购买的 SSL 证书还是自己免费获取的证书,都需要将其转换为适合服务器...

    Window系统使用openssl将pfx转换为pem,key,crt

    Window系统使用openssl将pfx转换为pem,key,crt 在本文中,我们将详细介绍如何使用 OpenSSL 工具将 PFX 文件转换为 PEM、KEY 和 CRT 文件。这三个文件类型都是 SSL/TLS 证书的重要组成部分,分别用于存储证书、私钥...

    java调用openssl生成证书

    - OpenSSL工具的使用:生成私钥、CSR、签署证书和格式转换。 - Java运行系统命令:`Runtime.getRuntime().exec()`或`ProcessBuilder`。 - 安全考量:避免命令注入,可能使用Java内置库或第三方库进行证书管理。 - ...

    OpenSSL 解析P12格式证书文件

    2. **OpenSSL解析P12**:使用OpenSSL工具,如`openssl pkcs12`命令,我们可以对P12文件进行操作,例如提取公钥证书、私钥,或者将P12文件转换为其他格式如PEM或DER。解析过程通常涉及解密文件,这需要输入设置时的...

    用OpenSSL把二进制的Cer证书转换程Base64格式的PEM格式的证书.docx

    3. 运行OpenSSL命令进行转换:执行以下命令将CER证书转换为PEM格式: ``` openssl x509 -in certificate.cer -out certificate.pem -outform PEM ``` 在这个命令中: - `-in certificate.cer` 指定了输入的CER...

    使用 OpenSSL 创建生成CA 证书服务器客户端证书及密钥

    在实际应用中,证书通常会被转换成PEM或DER格式,以便于不同系统和软件使用。例如,将证书和私钥合并到一个文件中,方便部署: ```shell # 将服务器证书和私钥合并 cat server.crt server.key &gt; server.pem # 将...

    openssl生成证书

    1. PEM与DER格式转换:PEM是Base64编码的ASCII文本格式,而DER是二进制格式。使用`openssl`命令可以互相转换: - DER转PEM:`openssl x509 -inform der -in certificate.der -out certificate.pem` - PEM转DER:`...

    openssl详细使用教程

    反之,可以使用 OpenSSL 将 PEM 格式转换为 DER 格式,命令为:`openssl x509 -inform PEM -in baidubase64.cer -outform DER -out bd.der` 6. 加密算法 使用 OpenSSL 可以查看服务器是否支持某个加密算法,命令为...

    java生成证书 包括openssl

    5. 将服务端证书和私钥转换为 PKCS12 格式:`openssl pkcs12 -export -in server.crt -inkey server.key -out server.pkcs12` 这将将服务端证书和私钥转换为 PKCS12 格式,用于 Java 应用程序。 使用 keytool 生成...

    openssl 生成ca证书 pkcs12 pem格式转换

    OpenSSL 生成 CA 证书 PKCS#12 PEM 格式转换 OpenSSL 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持 SSL/TLS 协议的实现。 OpenSSL 工具箱中包含了大量实用的命令和选项,...

    openssl 解析证书

    3. **导出私钥**:有时你需要从证书中提取私钥,这可以通过`openssl pkcs12`命令实现,比如`openssl pkcs12 -in cert.p12 -out key.pem -nodes`,这将把PKCS12格式的文件转换成.pem格式,其中包含私钥。 4. **生成...

    jetty-5.1.10加openssl自制证书.zip

    本文将围绕如何使用Jetty 5.1.10与OpenSSL进行SSL证书的自制来展开讨论。 首先,理解SSL(Secure Sockets Layer)是网络安全传输的基础,它为网络通信提供了加密处理,确保数据在网络传输过程中不被窃取或篡改。SSL...

    OpenSSL 中RSA16进制密钥生成方法

    5. 将密钥转换为16进制格式:使用以下命令将私钥和公钥转换为16进制格式: ``` openssl rsa -in private_key.pem -text -noout | grep 'modulus' -A 1 | awk '{print $2}' | xxd -p -c 1024 &gt; private_key_hex.txt...

    keystoke证书转换nginx证书工具

    标题提到的"keystoke证书转换nginx证书工具"是一个帮助管理员处理SSL/TLS证书的实用程序,特别针对从Java的`keytool.exe`生成的`.keystore`格式证书进行转换。`keytool`是Java Development Kit (JDK) 自带的一个...

    Linux下用Openssl生成证书

    #### 五、转换证书格式 如果需要将生成的证书转换为P12格式,可以使用以下命令: ```bash openssl pkcs12 -export -clcerts -in certs/server.crt.pem -inkey private/serverkey.pem -out certs/server.p12 ``` #...

    如何把OpenSSH公钥转换成OpenSSL格式.pdf

    例如,当你需要使用OpenSSL进行加密或解密操作时,可能就需要将OpenSSH的公钥转换为OpenSSL兼容的格式。 转换过程如下: 1. **生成RSA密钥对**: 使用OpenSSL可以生成RSA密钥对,其中`genrsa`命令用于生成私钥,...

Global site tag (gtag.js) - Google Analytics