pem文件格式(pem文件怎么生成)

pem文件格式(pem文件怎么生成)1 证书格式 PEM 格式 PEM 格式通常用于数字证书认证机构 Certificate Authorities CA 扩展名为 pem crt cer and key 内容为 Base64 编码的 ASCII 码文件 有类似 BEGIN CERTIFICATE 和 END CERTIFICATE 的头尾标记 服务器认证证书 中级认证证书和私钥都可以储存为 PEM 格式 认证证书其实就是公钥 Apache 和类似的服务器使用 PEM 格式证书




1.证书格式

PEM 格式

PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的头尾标记。服务器认证证书,中级认证证书和私钥都可以储存为PEM格式(认证证书其实就是公钥)。Apache和类似的服务器使用PEM格式证书。

DER 格式

DER格式与PEM不同之处在于其使用二进制而不是Base64编码的ASCII。扩展名为.der,但也经常使用.cer用作扩展名,所有类型的认证证书和私钥都可以存储为DER格式。Java使其典型使用平台。

PKCS#7/P7B 格式

PKCS#7 或 P7B格式通常以Base64的格式存储,扩展名为.p7b 或 .p7c,有类似BEGIN PKCS7-----" 和 "-----END PKCS7-----"的头尾标记。PKCS#7 或 P7B只能存储认证证书或证书路径中的证书(就是存储认证证书链,本级,上级,到根级都存到一个文件中)。不能存储私钥,Windows和Tomcat都支持这种格式。

PKCS#12/PFX 格式

PKCS#12 或 PFX格式是以加密的二进制形式存储服务器认证证书,中级认证证书和私钥。扩展名为.pfx 和 .p12,PXF通常用于Windows中导入导出认证证书和私钥。

2.转换方式

可以使用OpenSSL命令行工具在不同证书格式之间的转换

PEM to DER

PEM to P7B

PEM to PFX

DER to PEM

P7B to PEM

PFX to PEM

PXF转PEM后文件包含认证证书和私钥,需要把它们分开存储才能使用。






================================================================


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 Standard



X.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


pkcs12 -export –in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx



四 PEM格式的ca.key转换为Microsoft可以识别的pvk格式。


  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



密钥库文件格式【Keystore】



格式    :  JKS


扩展名  : .jks/.ks


描述    : 【Java Keystore】密钥库的Java实现版本,provider为SUN


特点    :  密钥库和私钥用不同的密码进行保护



格式    :  JCEKS


扩展名  :  .jce


描述    : 【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE


特点    :  相对于JKS安全级别更高,保护Keystore私钥时采用TripleDES



格式    :  PKCS12


扩展名  :  .p12/.pfx


描述    : 【PKCS #12】个人信息交换语法标准


特点    :  1、包含私钥、公钥及其证书


            2、密钥库和私钥用相同密码进行保护



格式    :  BKS


扩展名  : .bks


描述    :  Bouncycastle Keystore】密钥库的BC实现版本,provider为BC


特点    :  基于JCE实现



格式    : UBER


扩展名  : .ubr


描述    : 【Bouncycastle UBER Keystore】密钥库的BC更安全实现版本,provider为BC


  





证书文件格式【Certificate】


格式       :  DER


扩展名    :  .cer/.crt/.rsa



描述       : 【ASN .1 DER】用于存放证书


特点       :  不含私钥、二进制



格式       :  PKCS7


扩展名    : .p7b/.p7r


描述       : 【PKCS #7】加密信息语法标准



特点       : 1、p7b以树状展示证书链,不含私钥


               2、p7r为CA对证书请求签名的回复,只能用于导入



格式       :  CMS


扩展名    :  .p7c/.p7m/.p7s


描述       : 【Cryptographic Message Syntax】


特点       : 1、p7c只保存证书


               2、p7m:signature with enveloped data


               3、p7s:时间戳签名文件



格式       :  PEM


扩展名    : .pem


描述       : 【Printable Encoded Message】


特点       : 1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样广泛运用于密钥管理


               2、ASCII文件


               3、一般基于base 64编码


               4. Apache 用到的CA证书链就是PEM格式,它实际上可保存普通多个X509证书(.cer),  将每个证书简单加在一起就可以了



格式       :  PKCS10


扩展名    : .p10/.csr


描述       : 【PKCS #10】公钥加密标准【Certificate Signing Request】


特点       :  1、证书签名请求文件


               2、ASCII文件


               3、CA签名后以p7r文件回复



格式       :  SPC


扩展名    : .pvk/.spc


描述       : 【Software Publishing Certificate】


特点       :  微软公司特有的双证书文件格式,经常用于代码签名,其中


               1、pvk用于保存私钥


               2、spc用于保存公钥

编程小号
上一篇 2025-03-24 12:01
下一篇 2025-01-28 13:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/28694.html