-
2020-05-15 23:54:53
该文章转载自 OHTTPS.COM - 免费申请HTTPS通配符证书、自动更新、自动部署
在部署HTTPS证书时,不同的服务器我们需要用到不同格式的证书文件,常见的证书文件格式有以下几种:
- PEM
- 适用于Apache、Nginx、Candy Server等Web服务器
- 常见的文件后缀为.pem、.crt、.cer、.key
- 可以存放证书或私钥,或者两者都包含
- .key后缀一般只用于证书私钥文件
- PFX
- 适用于IIS等Web服务器
- 常见的文件后缀为.pfx、.p12
- 同时包含证书和私钥,且一般有密码保护
- JKS
- 适用于Tomcat、Weblogic、JBoss、Jetty等Web服务器
- 常见的文件后缀为.jks
Let’s Encrypt颁发的HTTPS证书一般包括以下几个文件:
- cert.key(PEM格式):私钥文件
- cert.cer(PEM格式):证书文件
- fullchain.cer(PEM格式):包含证书和中间证书
下面我们介绍如何使用cert.key、cert.cer、fullchain.cer生成cert.pfx、cert.jks,以及它们之间如何相互转换
-
PEM ===> PFX
- 工具:openssl
- 命令:使用cert.key和fullchain.cer文件生成cert.pfx
openssl pkcs12 -export -out cert.pfx -inkey cert.key -in fullchain.cer
-
PFX ===> JKS
- 工具:keytool
- 命令:使用cert.pfx生成cert.jks
keytool -importkeystore -srckeystore cert.pfx -destkeystore cert.jks -srcstoretype PKCS12 -deststoretype JKS
-
PEM ===> JKS
- 需要使用上面的两个方法,先将PEM文件转换为PFX文件,然后再将PFX文件转换为JKS文件
-
PFX ===> PEM
- 工具:openssl
- 命令1:使用cert.pfx文件生成临时文件temp.cer,temp.cer中包含了证书和私钥
openssl pkcs12 -in cert.pfx -nodes -out temp.cer
- 命令2:使用临时文件temp.cer文件生成私钥文件cert.key
openssl rsa -in temp.cer -out cert.key
- 命令3:使用临时文件temp.cer文件生成证书文件cert.cer
openssl x509 -in temp.cer -out cert.cer
- 命令4:使用cert.pfx生成中间证书文件chain.cer,合并cert.cer、空白行、chain.cer即可得到fullchain.cer
openssl pkcs12 -in cert.pfx -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > chain.cer echo '\n' > emptyline.cer cat cert.cer emptyline.cer chain.cer> fullchain.cer
-
JKS ===> PFX
- 工具:keytool
- 命令:使用cert.jks生成cert.pfx
keytool -importkeystore -srckeystore cert.jks -destkeystore cert.pfx -srcstoretype JKS -deststoretype PKCS12
除了以上这些方法之外,还可以使用在线工具进行证书格式转换,点击证书格式转换工具进行在线格式转换。
更多相关内容 - PEM
-
常见的数字证书格式
2015-01-07 10:52:25常见的数字证书格式 cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security...cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem)
p7b一般是证书链,里面包括1到多个证书
pfx是指以pkcs#12格式存储的证书和相应私钥。
在Security编程中,有几种典型的密码交换信息文件格式:
DER-encoded certificate: .cer, .crt
PEM-encoded message: .pem
PKCS#12 Personal Information Exchange: .pfx, .p12
PKCS#10 Certification Request: .p10
PKCS#7 cert request response: .p7r
PKCS#7 binary message: .p7b
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
其中,我介绍如何从p12/pfx文件中提取密钥对及其长度:
1,首先,读取pfx/p12文件(需要提供保护密码)
2,通过别名(Alias,注意,所有证书中的信息项都是通过Alias来提取的)提取你想要分析的证书链
3,再将其转换为一个以X509证书结构体
4,提取里面的项,如果那你的证书项放在第一位(单一证书),直接读取 x509Certs[0](见下面的代码)这个X509Certificate对象
5,X509Certificate对象有很多方法,tain198127网友希望读取RSA密钥(公私钥)及其长度(见http://www.matrix.org.cn/thread.shtml?topicId=43786&forumId=55&#reply),那真是太Easy了,
X509Certificate keyPairCert = x509Certs[0];
int iKeySize = X509CertUtil.getCertificateKeyLength(keyPairCert);
System.out.println("证书密钥算法="+keyPairCert.getPublicKey().getAlgorithm());
System.out.println("证书密钥长度="+iKeySize);
提取了他所需要的信息。
X.509定义了两种证书:公钥证书和属性证书
PKCS#7和PKCS#12使用的都是公钥证书
PKCS#7的SignedData的一种退化形式可以分发公钥证书和CRL
一个SignedData可以包含多张公钥证书
PKCS#12可以包含公钥证书及其私钥,也可包含整个证书链 -
常见证书格式
2012-02-15 18:00:24X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。 PKCS#7 常用的后缀是: .P7B .P7C .SPC PKCS#12 常用的后缀有: .P12 .PFX X.509 DER 编码...PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax StandardX.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
一 用openssl创建CA证书的RSA密钥(PEM格式):
openssl genrsa -des3 -out ca.key 1024二用openssl创建CA证书(PEM格式,假如有效期为一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
openssl是可以生成DER格式的CA证书的,最好用IE将PEM格式的CA证书转换成DER格式的CA证书。三 x509到pfx
四 PEM格式的ca.key转换为Microsoft可以识别的pvk格式。
pkcs12 -export –in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx
pvk -in ca.key -out ca.pvk -nocrypt -topvk
五 PKCS#12 到 PEM 的转换
openssl pkcs12 -nocerts -nodes -in cert.p12 -out private.pem
验证 openssl pkcs12 -clcerts -nokeys -in cert.p12 -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
用 -outform -inform 指定 DER 还是 PAM 格式。例如:
openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER
八 PEM 到 PKCS#12 的转换,
openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem
http://www.cnblogs.com/millen/archive/2011/05/03/2035031.html
-
常见的数字证书格式与格式转换
2016-05-25 09:22:06常见的数字证书格式与格式转换 常见的数字证书格式 CER后缀的证书文件有两种编码:第一种是DER二进制编码,第二种是:ASE64编码(也就是.pem) p7b一般是证书链,里面包括1个到多个证书 pfx是指以pkcs#12...常见的数字证书格式与格式转换
常见的数字证书格式
CER后缀的证书文件有两种编码:第一种是DER二进制编码,第二种是:ASE64编码(也就是.pem)
p7b一般是证书链,里面包括1个到多个证书
pfx是指以pkcs#12格式存储证书的公钥和相应私钥。
在Security编程中,有几种典型的密码交换信息文件格式:
DER-encoded certificate: .cer, .crt
PEM-encoded message: .pem
PKCS#12 Personal Information Exchange: .pfx, .p12
PKCS#10 Certification Request: .p10
PKCS#7 cert request response: .p7r
PKCS#7 binary message: .p7b
.cer/.crt是用于存放证书,它是二进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii 来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,二进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
其中,我介绍如何从p12/pfx文件中提取密钥对及其长度:
1、首先,读取pfx/p12文件(需要提供保护密码)
2、通过别名(Alias,注意,所有证书中的信息项都是通过Alias来提取的)提取你想要分析的证书链
3、再将其转换为一个以X509证书结构体
4、提取里面的项,如果那你的证书项放在第一位(单一证书),直接读取 x509Certs[0](见下面的代码)这个X509Certificate对象
5、 X509Certificate对象有很多方法,tain198127网友希望读取RSA密钥(公私钥)及其长度(见http://www.matrix.org.cn/thread.shtml?topicId=43786&forumId=55&#reply),那真是太Easy了,
X509Certificate keyPairCert = x509Certs[0];
int iKeySize = X509CertUtil.getCertificateKeyLength(keyPairCert);
System.out.println("证书密钥算法="+keyPairCert.getPublicKey().getAlgorithm());
System.out.println("证书密钥长度="+iKeySize);
提取了他所需要的信息。
X.509定义了两种证书:公钥证书和属性证书
PKCS#7和PKCS#12使用的都是公钥证书
PKCS#7的SignedData的一种退化形式可以分发公钥证书和CRL
一个SignedData可以包含多张公钥证书
PKCS#12可以包含公钥证书及其私钥,也可包含整个证书链PFX文件转换为JKS文件
使用JWSDP工具包中的工具
安装J2SE 1.5,下载并运行jdk-1_5_0_09-windows-i586-p.exe 下载并安装jave web service develop pack, jwsdp-2_0-windows-i586.exe 创建一个新的keystore文件,里面的别名取做TEMP
keytool -genkey -alias temp -keyalg RSA -keystore server.jks
准备好要导入的PFX文件,server.pfx,运行:
C:\Sun\jwsdp-2.0\xws-security\bin\pkcs12import.bat pkcs12import -file server.p12 -alias server -keystore server.jks
查看server.jks 里面的证书记录:
keytool -list -v -keystore server.jks
JKS文件转换为PFX文件
通过jks2pfx工具
请下载:JKS2PFX转换工具。将压缩包解开到 c:\jks2pfx 目录下, 运行以下命令:
JKS2PFX <导出文件名> [Java Runtime的目录]
备注:
KeyStore文件:指Tomcat保存SSL证书的文件
KeyStore密码:KeyStore文件对应的密码
Alias别名: 生成证书CSR时,所起的Alias别名
导出文件名: 准备导出的文件名称 (不要带扩展名)
Java Runtime的目录(可选): 指包含Java.exe和keytool.exe的目录,如:c:\progra~1\Java\jre1.5.0_06\bin
例如:
JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin
该命令将server.jks中别名为tomcat的SSL证书导出,运行后将产生3个文件 exportfile.key、exportfile.crt、exportfile.pfx,exportfile.pfx可以导入到微软的IIS中,exportfile.key和exportfile.crt 可用于Apache或者OpenSSL兼容的系统。 可以用下面命令查看PFX文件内容:
openssl pkcs12 -info -in exportfile.pfxPFX文件转换为X509证书文件和RSA密钥文件
通过Openssl命令行
openssl pkcs12 -in myssl.pfx -nodes -out server.pem
openssl rsa -in server.pem -out server.key
openssl x509 -in server.pem -out server.crt
总结:
1)P12格式的证书是不能使用keytool工具导入到keystore中的
2)The Sun's PKCS12 Keystore对从IE和其他的windows程序生成的pfx格式的证书支持不太好.
3)P7B证书链不能直接导入到keystore,需要将里面的证书导出成cer格式,再分别导入到keystore。 -
证书格式及其转换
2020-08-24 12:01:44证书格式 证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSR、CRT、CRL 、OCSP、SCEP等。 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种... -
常见证书格式和转换
2016-10-22 00:47:55X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织(ISO)的证书格式标准。作为ITU-ISO目录... -
PKI常见证书格式和转换
2016-01-20 10:52:04X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织(ISO)的证书格式标准。作为ITU-ISO目录... -
数字证书常见的格式(后缀)
2017-07-03 16:59:00p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式 转载于:... -
CA证书的生成https证书、转换格式、导出公钥私钥(.pem、.crt、.cer、.pfx)
2020-06-17 17:03:06格式说明 PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有: PKCS#7 Cryptographic ... -
常见数字证书类型
2018-05-23 11:15:301 数字证书1.1 概述 数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一...2 证书格式2.1 ... -
数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)
2020-08-25 15:32:14数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。为现实网络安全化标准,如今大部分的 B2B、B2C、P2P、O2O 等商业网站,含有重要企业资料个人资料的信息资信网站,政府机构金融... -
OpenSSL中证书格式的区别以及格式的转换
2017-04-12 09:58:09之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂。... -
HTTPS学习笔记:(3)一文彻底了解PKI与证书
2019-12-13 12:01:28PKI(public key infrastructure)的目标是实现不同成员在不见面的情况下进行安全通信,采用的模型是基于证书颁发机构( certification authority或certificate authority, CA)签发 的证书。PKI体系结构如下图所示: ... -
CA证书简单介绍
2021-03-03 21:58:48想要了解什么是CA证书,什么是CA、什么是证书、证书的生成过程。 1、 什么是CA? CA全称为Certificate Authority,可以翻译为...1、 撰写证书的元数据:包括签发人、地址、签发时间、有效期等,还有证书持有者的基本信 -
常见的证书格式和相互转换
2013-10-12 11:25:27X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。 PKCS#7 常用的后缀是: .P7B .P7C .SPC PKCS#12 常用的后缀有: .P12 .PFX X.509 DER 编码... -
几种常见格式的证书导入
2017-01-19 09:17:39p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt PEM-encoded ... -
PKI体系及常见证书
2015-10-12 14:41:41PKI是一套以公钥技术为基础、提供安全服务的架构, 由认证机构(CA), 数字证书库, 密钥备份和恢复, 证书作废系统, 应用接口等组成。CA是PKI的核心,CA的主要功能有:证书发放、证书管理(更新、撤消、验证)。 几个... -
iOS开发各种证书详解
2020-08-31 23:18:38关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做iOS开发的同学没少被折腾。对于一个iOS开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详、疑问、... -
主流数字证书都有哪些格式?
2018-04-25 11:32:51来自阿里云文档:点击打开链接一般来说,主流的 Web 服务软件,通常都基于 OpenSSL 和 ...通过 Java Development Kit (JDK)工具包中的 Keytool 工具,生成 Java Keystore(JKS)格式的证书文件。Apache、Nginx 等... -
X.509证书与java
2021-11-14 20:30:56X.509证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多Internet协议里。同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)... -
通配符SSL证书和SAN证书的差别
2019-10-17 17:34:15当下有两种多用SSL证书,具体情况如下: 通配符(Wildcard)证书——通配符证书广泛用于保护一个独特的完全限定性域名下的多个子域名。这种证书的好处是,它不仅使管理证书变得简单,而且还能帮助你降低管理费用。... -
关于证书的几个小问题
2021-11-30 17:35:13证书为什么要携带地址信息? 为什么要使用PEM格式? ASN.1、X.509和PKCS什么关系? -
【2.学习__签名证书和加密证书】
2018-08-24 14:01:50学习的方法: 先学习证书文件内容、结构,再针对问题进行学习 证书相关的知识: 1. 证书的结构大致是什么样的? 证书的机构分为三部分: tbsCertificate: 包含 主题 和 发行者的名字,与主题联系起来的公开... -
CA证书后缀文件的说明和使用p12生成pem证书
2019-09-05 21:10:35一、CA证书的几种文件扩展名...但常见的证书扩展名还包括 .crt、.cer、.p12 等,他们采用的编码格式可能不同,内容也有所差别,但大多数都能互相转换,总结如下: .pem:采用 PEM 编码格式的 X.509 证书的文件扩展... -
SSL证书中pem der cer crt csr pfx的区别
2021-01-27 11:52:43一.名词解释 这里先介绍一下X.690,它是ITU-T标准,规定了几种ASN.1编码格式: ...注意,上面编码格式CER是一种和DER很相似的编码格式,与后文提到的.cer后缀没有任何关系。大家最好忘记它。 这里我们先看. -
全国计算机等级WPS OFFICE一级证书
2021-06-18 02:37:24全国计算机等级考试是社会考试,就... 具有使用微型计算机的基础知识(包括计算机病毒的防治常识)。2. 了解微型计算机系统的组成和各组成部分的功能。3. 了解操作系统的基本功能和作用,掌握Windows的基本操作和应... -
常见的文件格式有哪些
2021-01-09 08:54:49ACC:苹果设备的专属音乐格式 ACE:Ace压缩档案格式 ACT:Microsoft office助手文件 AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 ANI:Windows系统中的动画光标 APK:Android... -
X509证书详解
2020-08-23 12:07:58X.509 证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多 Internet协议里,同时它也有很多非在线的应用场景,比如电子签名服务。X.509证书含有公钥和标识(主机名、组织或个人),并由证书颁发机.