各类证书由于存储的内容不同(如是否包含公钥/私钥是否加密存储/单一证书或多证书等)、采用编码不同(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/TLS 协议的实现。
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的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。 7.Engine机制 Engine机制的出现是在OpenSSL的0.9.6版的事情,开始的时候是将普通版本跟支持Engine的版本...
功能如下: 1、转换各种PEM(XML)格式公私钥,可以根据私钥获取公钥(pkcs8一般java用,xml格式一般C#用) ...软件调用OpenSSL相关函数,ui使用Qt5.9(不支持xp),遵循LGPL协议。 支持win7以上的32或64位系统
keytool -import -alias mycert -file d:\def.cer -keystore mykeystore.jks (导入证书到keystore) 2. JKS——>cer格式 keytool -import -alias mycert- keystore mykeystore.jks -file d:\def.cer (从keystore...
CA 使用 OpenSSL 数据库签署证书请求(使用配置) 创建 DER、NET 或 PEM 格式的证书 将证书转换为 DER、NET 或 PEM 格式 验证证书 从证书获取信息 创建证书吊销列表 (CRL) 吊销证书吊销列表中的证书 将 CRL 转换为...
证书格式转换时要与ActivePerl一起使用,该版本为openssl-1.0.2r。
为需要的内容不多,主要是RSA加解密部分,所以就删除了不必要的,公钥私钥...回来实际使用中,本地保存公钥,发送数据时候数据公钥加密过,然后在服务器端用私钥解密,数据合法再处理,这样数据就安全啦。@千面萌萌。
但这种证书并不是LoadRunner所使用的类型,因此需要对其进行转换。将其转换为*.pem格式。 转换方法如下: 安装openssl后 运行C:\<OpenSSL>/bin文件夹的openssl二进制文件,它将启动OpenSSL命令提示符 执行...
该命令将server.jks中别名为tomcat的SSL证书导出,运行后将产生3个文件 exportfile.key、exportfile.crt、exportfile.pfx,exportfile.pfx可以导入到微软的IIS中,exportfile.key和exportfile.crt 可用于Apache或者...
在使用signapk工具签名时,是需要 x509.pem + pk8格式的证书,它是一个公私钥分开存放的格式,在电脑上生成的证书一般是以 keystore格式存放的,有时在证书签发机构申请的证书也是 keystore格式的。这时用signapk...
证书工具:证书查看、CSR查看、CSR生成、私钥校验、证书格式转换、自签名证书生成。 SSL检测:握手过程探测、协议/加密套件、SSL常见漏洞扫描。 开发环境: 基于Python2.7,具体依赖库请参考requirements或pip ...
这个类是从我现在正在开发的代码中扣出来的,但是耦合性应该不高,可以加入到其他工程使用,带S的函数是针对多线程压力测试几乎没有捕获异常。...注:除了PVK格式私钥转换使用了openssl,其他都是使用windos API实现。
1. PHP下将X509的证书key转为PEM编码,便于OPENSSL处理; 2. 将Modulus/Exponent形式的RSA Key转为PEM编码格式。
使用非对称加密主要是借助...3.生成公钥:rsa命令用于处理RSA密钥、格式转换和打印信息 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 4.这里我们使用私钥加密,公钥解密 <?php /**
最近项目调查MFC程序SSL\TLS传输,研究了半天。 从code project上面的一個不錯的SSL\TLS传输demo, ...client和server端证书(转换成p12格式后),导入personal列。 留个记录,省得以后再用的时候麻烦。
bcprov-ext-jdk15on-1.54,openssl自制证书转换工具,Android Https证书文件转BKS格式工具,使用详情请查看https://blog.csdn.net/MirkoWug/article/details/128673355