`
kiki1120
  • 浏览: 314547 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

常见证书格式及相互转换

阅读更多

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),同时也支持单个证书,不含私钥。
—————-
小美注:
der,cer文件一般是二进制格式的,只放证书,不含私钥
crt文件可能是二进制的,也可能是文本格式的,应该以文本格式居多,功能同der/cer
pem文件一般是文本格式的,可以放证书或者私钥,或者两者都有
pem如果只含私钥的话,一般用.key扩展名,而且可以有密码保护
pfx,p12文件是二进制格式,同时含私钥和证书,通常有保护密码
怎么判断是文本格式还是二进制?用记事本打开,如果是规则的数字字母,如
—–BEGIN CERTIFICATE—–
MIIE9jCCA96gAwIBAgIQVXD9d9wgivhJM//a3VIcDjANBgkqhkiG9w0BAQUFADBy
—–END CERTIFICATE—–
就是文本的,上面的BEGIN CERTIFICATE,说明这是一个证书
如果是—–BEGIN RSA PRIVATE KEY—–,说明这是一个私钥
文本格式的私钥,也可能有密码保护
文本格式怎么变成二进制? 从程序角度来说,去掉前后的—-行,剩下的去掉回车,用base64解码,就得到二进制了
不过一般都用命令行openssl完成这个工作
—————
一 用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


分享到:
评论

相关推荐

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

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

    RSA非对称加密算法的PEM与XML格式密钥对的转换

    RSA非对称加密算法是...总的来说,RSA非对称加密算法的PEM与XML格式之间的转换是网络通信中一个常见的需求,尤其在前端加密和后端解密的场景下。理解这两种格式的差异和转换方法对于开发涉及安全的Web应用至关重要。

    ofd-pdf相互转换,ofd在线预览

    由于两者在不同场景下各有优势,因此需要进行相互转换的情况时有发生。 要实现OFD到PDF或PDF到OFD的转换,可以使用各种工具或软件。例如,Gitee上的“ofd-pdf”项目提供了一个开源的解决方案。该项目可能包含转换...

    PKCS12与JKS格式转换器

    本文将深入探讨这两种格式,以及如何进行相互转换。 PKCS12是一种由RSA Security开发的标准,用于存储用户的私钥、公钥和数字证书。这种格式通常用于个人身份验证,例如在HTTPS服务器证书或电子邮件加密中。一个...

    jad alx转换工具

    本文将深入探讨这两个文件类型以及如何进行相互转换。 首先,我们来了解一下JAD和ALX文件的定义和作用: 1. **JAD文件**(Java Application Descriptor): JAD文件是Java应用程序的元数据文件,它包含了应用程序...

    ASN1编码查看工具

    此外,该工具还具备数据转换功能,支持将HEX(十六进制)、PEM(Privacy Enhanced Mail)和BASE64数据进行相互转换。HEX编码常用于表示二进制数据,而PEM则是一种用于在网络上传输加密信息的标准格式,BASE64则是一...

    Base64Util、FileUtil、GsonUtils、HttpUtil

    Gson是Google提供的一个开源库,用于在Java对象和JSON数据之间进行相互转换。GsonUtils是对Gson库的封装,提供了一些方便的工具方法。它可以将Java对象序列化成JSON字符串,也可以将JSON字符串反序列化成Java对象。...

    计算机专业术语.pdf

    2. **.cer 文件**:这种文件格式用于存储公钥证书,是网络安全中的重要组成部分,通常涉及数字签名和身份验证。 3. **.inf 文件**:扩展名为.inf的文件包含了设备信息或脚本,用于控制硬件操作,常见于Windows系统...

    三级助理电子商务师综合试题.docx

    在电子商务领域,助理电子商务师需要掌握一系列专业知识,包括但不限于网络协议、操作系统、物流管理、电商平台类型、网络营销策略、客户关系管理、订单转化率计算、客户心理、产品分析、供应链管理和电子支付激励等...

    J2EE中文版指南 CHM格式 带全文检索

    十一 常见问题和解决方法 36 无法启动J2EE服务器 36 编译出错 37 部署出错 37 J2EE应用程序客户端运行时错误 38 Web客户端运行时错误 39 用检验工具检查问题 39 比较你的EAR文件和样本EAR文件 39 其它异常 39 第二...

    Packtpub.Nginx.HTTP.Server.Jul.2010.rar

    7. **URL重写**:Nginx 提供强大的 URL 重写规则,可以方便地实现 SEO 友好的 URL 或者内部路径的转换。 8. **访问控制**:Nginx 可以设置基于 IP 地址、用户代理、HTTP 头部等条件的访问控制,实现防火墙功能。 9...

    privateerccpemwrapper

    首先,PEM格式是一种常见的用于存储X.509数字证书和加密密钥的标准格式。它以Base64编码的方式将二进制数据转换为文本格式,方便在邮件或文本文件中传输。PEM文件通常以“—–BEGIN”开头,以“—–END”结尾,例如...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    经考试合格,并颁发GIS 高级程序员高级研修班结业证书及3s高级系统设计工程师水平资质证书,全国各级人事、教育、职改部门承认的专业技术继续教育证书。 四、时间:报到时间:2009年6月19日8:00~12:30; 研修班与...

    JavaJava%2BEE软件工程师就业求职手册.doc

    - **工程开发的分工**:软件开发项目通常会根据功能模块进行分工,比如前端开发、后端开发、数据库管理、测试等,每个角色都有其专业领域,相互配合完成整个项目的开发。 - **程序员的职业发展**:初级程序员可以...

    21春东财《电子商务概论》单元作业三_5参考答案.docx

    选项中的“风险预测机构”、“银行”以及“物流中心”虽然也在电子商务过程中扮演着重要角色,但认证中心尤其关键,因为它负责验证参与交易各方的身份,并发放数字证书以确保交易的安全性。 ### 调制解调器的基本...

    2022年计算机三级《网络技术》模拟题.docx

    (16) 常见的身份认证方法包括**口令认证**、**证书认证**和**生物特征认证**。 (17) 消息认证的两个模式是**双向验证**和**单向验证**。 (18) SIP(Session Initiation Protocol)消息包括**请求消息**和**响应...

    Dark Forge Bot-开源

    这可能涉及到日期时间的转换、时区调整以及与国际标准日期时间的相互转换。 5. **ModAI.bas**:人工智能(AI)模块,可能包含了简单的自然语言处理、决策制定或机器学习算法。通过此模块,我们可以了解到如何在程序...

    C#微软培训资料

    6.2 显式类型转换 .53 6.3 小 结 .56 第七章 表 达 式 .58 7.1 操 作 符 .58 7.2 算术操作符和算术表达式.59 7.3 赋值操作符和赋值表达式.64 7.4 关系操作符和关系表达式.65 <<page 2>> page begin...

Global site tag (gtag.js) - Google Analytics