【转】证书和编码

证书与编码

本至上,X.509证书是一个数字文档,这个文档根据RFC 5280来编码并/或签发。

实际上,“X.509证书”经常被用来指代IETF的PKIX(Public Key Infrastructure)证书和X.509 v3 证书标准中的CRL(Certificate Revocation List)。

X509 文件扩展名

首先我们要理解文件的扩展名代表什么。DER、PEM、CRT和CER这些扩展名经常令人困惑。很多人错误地认为这些扩展名可以互相代替。尽管的确有时候有些扩展名是可以互换的,但是最好你能确定证书是如何编码的,进而正确地标识它们。正确地标识证书有助于证书的管理。

编码 (也用于扩展名)

  • .DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
  • .PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。

常用的扩展名

  • .CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
  • CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
  • .KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。

CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。

时间: 2024-08-06 16:06:44

【转】证书和编码的相关文章

X.509证书的编码及解析:程序解析以及winhex模板解析

一.证书的整体结构:证书内容.签名算法.签名结果. 用ASN.1语法描述如下: Certificate::=SEQUENCE{ tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signatureValue BIT STRING } 其中,签名算法为CA对tbsCertificate进行签名所使用的算法:类型为AlgorithmIdentifier,其ASN.1语法描述如下: AlgorithmIdent

替换vCenter Server 5.5 自签名证书

1.在企业内部安装的根CA上创建vsphere5.5证书模板 登录证书服务器,打开证书管理控制台,右击"证书模板"->"管理" 右击"web服务器"选择"复制模板" 选择"windows Server2003 Enterprise"实现最大兼容性 在"扩展"选项中选择"应用程序策略"->"添加"选择"客户端身份验证"

更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found

更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found 在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试一直会出现 Code Sign error: Provisioning profile ‘XXXX’ can't be found是不是会另你很恼火.下面说说解决方法,让你很好的解决这个问题. 1.关闭你的项目,找到项目文件XXXX.xcodeproj,在文件上点击右键,选择“显示包内容”(Show Pa

X.509 数字证书结构和实例

http://www.cppblog.com/sleepwom/archive/2010/07/08/119746.html 一. X.509数字证书的编码 X.509证书的结构是用ASN1(Abstract Syntax Notation One)进行描述数据结构,并使用ASN1语法进行编码. ASN1采用一个个的数据块来描述整个数据结构,每个数据块都有四个部分组成: 1.数据块数据类型标识(一个字节) 数据类型包括简单类型和结构类型. 简单类型是不能再分解类型,如整型(INTERGER).比

证书的那些事

OpenSSL 简单地说,OpenssL是SSL的一个实现,SSL只是一种规范, 理论上来说,SSL这种规范是安全的,目前的技术水平很难破解,但SSL的实现就可能有些漏洞, 如著名的"心脏出血",OpenSSL还提供了一大堆强大的工具软件 证书标准 X.509 这是一种证书标准,主要定义了证书中应该包含哪些内容,其详情可以参考RFC5280,SSL使用的就是这种证书标准 编码格式 同样的X.509证书,可能有不同的编码格式,目前有以下两种编码格式, PEM ---Privacy Enh

Domino9.0.1FP3下的LDAP、Kerbors详细配置介绍及证书申请颁发

说到Domino大家都很熟悉了,同时我们也知道Domino目前最新的版本为Domino9.0.1FP3版本:具体功能的更新我就不多介绍了,主要还是继上一篇文章中介绍到的,是为了给测试项目搭建测试环境,今天domino主要介绍就是Domino9.01FP3下配置LDAP的匿名.SSL及kerkbors功能,Domino的具体安装我们在此就不演示了,具体操作我们可以在前面的文章中有说到,可以进行参考.主要的证书相关问题,在notes9.0.1中需要安装Notes FP3 IF3才可以合并证书,因为在

JAVA中数字证书的维护及生成方

Java中的keytool.exe可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息.证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥.  每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码.  在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码.这些信息包括 CN=xx,OU=xx,O=xx,L=xx,

Exchange 混合部署—Exchange 2013&2007配置

将下列命令输入Windows PowerShell 会自动安装先决条件 Install-WindowsFeature RSAT-ADDS, AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerSh

iOS 开发百问(5)

42. 警告:Multiplebuild commands for output file target引用了名字反复的资源 找到当前的target,展开之后.找到CopyBundle Resources栏目.然后在里面找到反复名字的资源.删除不要的那个就可以 43.签名错误:Provisioningprofile can't be found 在Xcode中当你在更新了你得证书而再又一次编译你的程序,真机调试一直会出现Code Sign error: Provisioning profile