`

使用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证书格式转换(Certificates Formats).docx

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

    简单 实用

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

    openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。

    openssl-1.0.0a

    OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。 7.Engine机制 Engine机制的出现是在OpenSSL的0.9.6版的事情,开始的时候是将普通版本跟支持Engine的版本...

    自签证书制作

    3.证书格式转换操作记录 openssl生成的pem格式证书转换为p12(pfx/pkcs12)、jks格式证书 keytool生成的jks证书转换为 p12(pfx/pkcs12)、pem格式证书 4。证书安全说明 常用crt/cer、pem、p12/pfx、jks解释说明

    OpenSSL-1_0_0d_Win32

    OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。 7.Engine机制 Engine机制的出现是在OpenSSL的0.9.6版的事情,开始的时候是将普通版本跟支持Engine的版本...

    RSA公私钥各种格式(包括加密)转换以及验签过程

    功能如下: 1、转换各种PEM(XML)格式公私钥,可以根据私钥获取公钥(pkcs8一般java用,xml格式一般C#用) ...软件调用OpenSSL相关函数,ui使用Qt5.9(不支持xp),遵循LGPL协议。 支持win7以上的32或64位系统

    SSL中各证书的转换

    keytool -import -alias mycert -file d:\def.cer -keystore mykeystore.jks (导入证书到keystore) 2. JKS——&gt;cer格式 keytool -import -alias mycert- keystore mykeystore.jks -file d:\def.cer (从keystore...

    phpopenssl:OpenSSL PHP 工具包库

    CA 使用 OpenSSL 数据库签署证书请求(使用配置) 创建 DER、NET 或 PEM 格式的证书 将证书转换为 DER、NET 或 PEM 格式 验证证书 从证书获取信息 创建证书吊销列表 (CRL) 吊销证书吊销列表中的证书 将 CRL 转换为...

    OpenSSL.zip

    证书格式转换时要与ActivePerl一起使用,该版本为openssl-1.0.2r。

    易语言调用openssl实现RSA加解密

    为需要的内容不多,主要是RSA加解密部分,所以就删除了不必要的,公钥私钥...回来实际使用中,本地保存公钥,发送数据时候数据公钥加密过,然后在服务器端用私钥解密,数据合法再处理,这样数据就安全啦。@千面萌萌。

    Loadrunner 的HTTPS的测试配置

    但这种证书并不是LoadRunner所使用的类型,因此需要对其进行转换。将其转换为*.pem格式。 转换方法如下:  安装openssl后  运行C:\&lt;OpenSSL&gt;/bin文件夹的openssl二进制文件,它将启动OpenSSL命令提示符  执行...

    jks与pfx转换工具

    该命令将server.jks中别名为tomcat的SSL证书导出,运行后将产生3个文件 exportfile.key、exportfile.crt、exportfile.pfx,exportfile.pfx可以导入到微软的IIS中,exportfile.key和exportfile.crt 可用于Apache或者...

    keystore转x509pem工具

    在使用signapk工具签名时,是需要 x509.pem + pk8格式的证书,它是一个公私钥分开存放的格式,在电脑上生成的证书一般是以 keystore格式存放的,有时在证书签发机构申请的证书也是 keystore格式的。这时用signapk...

    wossl:OpenSSL对称算法、哈希校验、非对称算法、证书管理、SSL安全

    证书工具:证书查看、CSR查看、CSR生成、私钥校验、证书格式转换、自签名证书生成。 SSL检测:握手过程探测、协议/加密套件、SSL常见漏洞扫描。 开发环境: 基于Python2.7,具体依赖库请参考requirements或pip ...

    VC http/https(包含单向认证、双向认证源码、SSL协议设置)

    这个类是从我现在正在开发的代码中扣出来的,但是耦合性应该不高,可以加入到其他工程使用,带S的函数是针对多线程压力测试几乎没有捕获异常。...注:除了PVK格式私钥转换使用了openssl,其他都是使用windos API实现。

    PHP下RSA公钥格式转化

    1. PHP下将X509的证书key转为PEM编码,便于OPENSSL处理; 2. 将Modulus/Exponent形式的RSA Key转为PEM编码格式。

    PHP基于openssl实现非对称加密代码实例

    使用非对称加密主要是借助...3.生成公钥:rsa命令用于处理RSA密钥、格式转换和打印信息 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 4.这里我们使用私钥加密,公钥解密 &lt;?php /**

    window API下的 SSL\TLS 传输

    最近项目调查MFC程序SSL\TLS传输,研究了半天。 从code project上面的一個不錯的SSL\TLS传输demo, ...client和server端证书(转换成p12格式后),导入personal列。 留个记录,省得以后再用的时候麻烦。

    bcprov-ext-jdk15on-1.54和bcprov-jdk15on-1.54.jar

    bcprov-ext-jdk15on-1.54,openssl自制证书转换工具,Android Https证书文件转BKS格式工具,使用详情请查看https://blog.csdn.net/MirkoWug/article/details/128673355

Global site tag (gtag.js) - Google Analytics