`
dch1287
  • 浏览: 122778 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

PKI常见证书格式和转换

 
阅读更多
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用于保存公钥

http://blogold.chinaunix.net/u/4864/showart.php?id=2296545
分享到:
评论

相关推荐

    [PKI]常见证书格式和转换

    ### 常见证书格式与转换详解 #### PKI与证书格式概述 公钥基础设施(Public Key Infrastructure,简称PKI)是一种基于公钥加密技术的安全框架,它通过一系列的策略和技术来确保数字通信的安全性。在PKI体系中,证书...

    证书转换生成工具protecle

    2. **证书格式**:常见的证书格式有PEM(Privacy Enhanced Mail)、DER(Distinguished Encoding Rules,二进制格式)和PKCS#12(Public Key Cryptography Standards #12)。每种格式都有其特定的应用场景和优势。 ...

    pvk(证书私钥转换工具).zip

    `pvk.exe` 工具可能允许用户将私钥从一种格式转换为另一种格式,常见的格式包括PVK(Private Key)、PFX(Personal Information Exchange)、PEM(Privacy Enhanced Mail)和DER(Distinguished Encoding Rules)。...

    cer 转成p12方法

    常见证书格式及后缀 - **PKCS#7 (.P7B, .P7C, .SPC)**:用于封装和传输数字签名的数据和证书。 - **PKCS#12 (.P12, .PFX)**:包含了证书、私钥和可能的其他证书的集合,常用于备份或导出整个证书链。 - **X.509 ...

    解决证书冲突

    - 证书格式不兼容,例如PKCS#12与PEM之间的转换问题。 3. **解决方法**: - **证书替换**:确保系统只加载一个有效的证书,移除冲突的证书。 - **更新信任设置**:对于自签名证书,添加到系统的受信任根证书存储...

    c语言写成的取x.509证书公钥

    在实际开发中,你可能还需要考虑证书的编码错误、非标准格式或者不常见的扩展。为了简化这些操作,你可以利用开源库,如OpenSSL,它提供了丰富的API来处理X.509证书和公钥操作。 在提供的压缩包中,文件"X.509证书...

    java生成X509证书jar包

    5. PEM格式的证书转换和存储。 6. Java jar包的创建与执行。 这些知识点在构建安全的网络服务,尤其是符合国内法规要求的系统中具有重要价值。通过深入了解和实践,开发者可以更好地理解和应用这些技术。

    cer二进制,base64及证书链解析api和头文件

    Base64是一种常见的编码方法,用于将二进制数据转换为ASCII文本,以便在不支持二进制传输的环境中(如电子邮件)进行传输。在证书场景中,Base64编码的证书可以方便地在网络上传输和查看,因为它们看起来像普通的...

    数字证书管理源代码_sourcecode

    例如,使用`d2i_PKCS12`和`i2d_PKCS12`进行二进制数据与PKCS#12对象之间的转换,以及`PKCS12_parse`和`PKCS12_create`来解析和创建PKCS#12结构。 此外,源码可能还会处理错误情况,如文件读取错误、密码错误或者...

    gsi-dat互转

    在IT行业中,"gsi-dat互转"涉及到的是数据转换技术,主要是在GSI(Global Security Identifier)格式和DAT(Data Array)格式之间进行转换。这两种格式在不同的领域有着特定的应用,例如在网络安全、身份验证或者...

    portecle-1.9.rar

    P12(PKCS#12)是公钥基础设施(PKI)中的一种标准文件格式,用于存储用户的私钥和证书。它通常包含了用户的身份证书、私钥以及可能的中间证书,用于身份验证和数据加密。P12文件通常以".p12"或".pfx"作为扩展名,且...

    ec.rar_DER Format_pem

    标题中的"ec.rar_DER Format_pem"涉及到的是关于数字证书编码格式的知识,主要讨论的是DER和PEM这两种格式。在IT行业中,特别是在加密和网络安全领域,这两种格式是至关重要的。 DER(Distinguished Encoding Rules...

    BouncyCastle.dll C#依赖工具,用作数据的加解密辅助类

    6. **PKI组件**:Bouncy Castle还包含了证书和证书链的处理,支持X.509证书格式,可用于SSL/TLS协议,建立安全的网络连接。 7. **随机数生成器**:加密过程中需要使用高质量的随机数,Bouncy Castle提供了安全的...

    ASN1编码查看工具

    总之,ASN1编码查看工具是一个强大且全面的工具,不仅提供了解析ASN.1编码的能力,还包含了方便的数据转换功能,覆盖了从基本的二进制编码到常见的文本编码格式。无论是对于初学者还是经验丰富的专业人士,这款工具...

    cert-tool:用于管理X509 certskeys的命令行Perl脚本

    8. **证书格式转换**:不同应用或系统可能需要证书和密钥以不同的格式存在,如PEM、DER或PKCS#12。`cert-tool`可能包含将证书转换为不同格式的功能。 9. **证书生命周期管理**:这包括证书的生成、安装、备份、更新...

    java和.net交换加密算法(.net版本)+(java版本)

    在IT行业中,跨平台通信和数据安全...总之,Java和.NET之间的加密算法交换涉及多个层面,包括选择合适的加密算法、密钥管理和数据格式转换。理解这些知识点并正确实施,能够确保在跨平台通信中的数据安全性和互操作性。

    参考资料-桥梁劳务分包合同.zip

    了解电子签名的原理和实现方式,如PKI(公钥基础设施)和数字证书,是现代IT环境下的关键知识。 5. **文档安全与加密**:为了保护敏感的合同信息,IT专业人员需要了解加密技术,如AES(高级加密标准),以确保数据...

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

    证书包含公钥、主体信息和有效期等,通过X.509标准进行格式化。OpenSSL提供了生成、管理、验证证书的命令行工具,如`openssl req`、`openssl x509`等。 最后,我们关注**SSL/TLS安全**。SSL(安全套接层)和其后继...

    OpenSSL for Windows

    - **证书转换**:OpenSSL可以将PEM格式的证书转换为DER或CRT格式,反之亦然。 - **验证证书**:通过`verify`命令,检查证书的有效性,包括签名、日期和颁发者信息。 4. **SSL/TLS协议测试** - **连接测试**:...

    大一大学计算机基础教程期末考试题.pdf

    - 公钥基础设施(PKI)中的证书颁发机构(CA),用于管理数字证书的发放。 8. 二进制与十进制的转换 - 计算机科学中经常会用到二进制与十进制的转换,内容中的二进制数列如B***D需要转换为更易读的数制。 9. ...

Global site tag (gtag.js) - Google Analytics