X.509证书解析和使用_第1页
X.509证书解析和使用_第2页
X.509证书解析和使用_第3页
X.509证书解析和使用_第4页
X.509证书解析和使用_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、X.509 证书解析和使用来自:一、概述常见的 X.509 证书格式包括: cer/crt 是用于存放证书,它是2 进制形式存放的,不含私钥。 pem跟 crt/cer 的区别是它以 Ascii 来表示,可以用于存放证书或私钥。 pfx/p12 用于存放个人证书/ 私钥,他通常包含保护密码, 2 进制方式。 p10 是证书请求。 p7r 是 CA对证书请求的回复,只用于导入p7b 以树状展示证书链(certificate chain) ,同时也支持单个证书,不含私钥。二、证书文件/私钥文件在 HTTPS 通讯中最常用的是 cer/crt和 pem 。下面以 pem 格式的证书为例进行说明。下面

2、是一个完整的 PEM 格式证书: Certificate:Data:Version: 1 (0x0) Serial Number: 1 (0x1) SignatureAlgorithm: md5WithRSAEncryptionIssuer: C=US,ST=Montana, L=Bozeman, O=sawtooth, OU=consulting,CN=www.sawtooth- ValidityNot Before: Jun 30 18:52:172010 GMTNot After : Mar 26 18:52:17 2013 GMTSubject: C=US, ST=Montana, L

3、=Bozeman, O=yaSSL, OU=support,CN=Subject Public Key Info:Public Key Algorithm:rsaEncryption RSA Public Key: (512 bit)Modulus (512 bit):00:c6:7b:c0:68:81:2f:de:82:3f:f9:ac:c3:86:4a:66:b7:ec:d4:f1:f6:64:21:ff:f5:a2:34:42:d0:38:9f:c6:dd:3b:6e:26:65:6a:54:96:dd:d2:7b:eb:36:a2:ae:7e:2a:9e:7e:56:a5:b6:87:

4、9f:15:c7 :18:66:7e:16:77:e2:a7Exponent: 65537 (0x10001)Signature Algorithm: md5WithRSAEncryption58:a9:98:e7:16:52:4c:40:e7:e1:47:92:19:1b:3a:8f:97:6c:7b :b7:b0:cb:20:6d:ad:b5:d3:47:58:d8:e4:f2:3e:32:e9:ef:87:77 :e5:54:36:f4:8d:50:8d:07:b4:77:45:ea:9d:a4:33:36:9b:0b:e0:74:58:11:c5:01:7b:4dBEGINCERTIF

5、ICATEMIICFDCCAb4CAQEwDQYJKoZIhvcNAQEEBQAwgZ4xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdNb250YW5hMRAwDgYDVQQHEwdCb3plbWFuMRE wDwYDVQQKEwhzYXd0b290aDETMBEGA1UECxMKY29uc3VsdGluZzEkMCIGA1UEAxMbd3d3LnNhd3Rvb3RoLWNvbnN1bHRpbmcuY29tMR0wGwYJKoZIhvcNAQkBFg5 pbmZvQHlhc3NsLmNvbTAeFw0xMDA2MzAxODUyMTda Fw0xMzAzMjYxODUyMTda

6、MIGKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHTW9udGFuYTEQMA4GA1UEBxMHQm96ZW1hbjEOMAwGA1UEChMFeWFTU0wxEDAOBgNVBAsTB3N1cHBvcnQxFjAUBgNVBAMTDXd3dy55YXNzbC5jb20xHTAbBgkqhkiG9w0BCQEWDmluZm9AeWFzc2wuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZ7wGiBL96CP/msw4ZKZrfs1PH2ZCH/9aI0QtA4n8bdO24mZWpUlt3Se+s2oq5+Kp5+VqW2h58Vxxhm

7、fhZ34qcCAwEAATANBgkqhkiG9w0BAQQFAANBAFipmOcWUkxA5 +FHkhkbOo+XbHu3sMsgba2100dY2OTyPjLp74d35VQ29 I1QjQe0d0XqnaQzNpsL4HRYEcUBe00=ENDCERTIFICATE 从 Certificate 开始到“ BEGINCERTIFICATE ”为止,中间的内容是证书的明文格式。从“ BEGIN CERTIFICATE ”开始到“ ENDCERTIFICATE ”为止是证书的明文格式经过ASN.1 编码再经过 Base64 编码得到的。证书中包含的内容以及ASN.1编码格式: 对于私钥

8、文件,真正的私钥是包含在字符串 "BEGIN PRIVATE KEY" 和字符串 "ENDPRIVATE KEY" 之间。 如果该私钥文件是pkcs8 格式的,那么该私钥文件的格式为 PrivateKeyInfo := SEQUENCE version Version(INTEGER),privateKeyAlgorithm PrivateKeyAlgorithmIdentifier (AlgorithmIdentifier),privateKeyPrivateKey(OCTET STRING),attributes 0IMPLICIT Attribut

9、es OPTIONAL(SET OF Attribute)如果不是 pkcs8 格式的,那么 "BEGIN PRIVATEKEY" 和"END PRIVATE KEY" 之间的内容就是私钥的 Base64 编码。 在客户端或服务器在交换证书时,需要首先把Base64 编码转换为 ASCII 编码再进行传输。 三、公钥 /私钥 公钥和私钥是证书文件和私钥文件中最核心的内容。 在 SSL/TLS 协议中需要是用公钥算法,来进行对称密钥的交换。最常见的算法是 RSA 和 DH ,而 RSA算法和 DH 算法的公钥、 私钥的数据格式是不同的。 3.1 RSA算法

10、 RSA 算法简要描述如下: n = p *q; p,q 为互质的大素数(d * e) mod ( (p-1) * (q-1) ) = 1其中 n, e 为公钥, n,p,q,d,e 自己保留。 加密方法:Y(密文)=X(明文)*d mod n ;解密方法:X(明文) = Y( 密文 )*e mod n ; 密钥格式公钥包含两个整数: n RSA 合数模,是一个正整数e RSA 公开幂, 是一个正整数 私钥有两种表达方法,这两种方法是等价的。 1 、n RSA 合数模, 是一个正整数d RSA 私有幂, 是一个正整数2 、p 第一个因子,是一个正整数q 第二个因子,是一个正整数dP 第一个因子

11、的 CRT 幂,是一个正整数dQqInv第二个因子的CRT 幂,是一个正整数(第一个) CRT 系数, 是一个正整数对于 RSA算法中的公钥部分, 包含两个 INTEGER 类型的数字 n 和 e 。对于 RSA 私钥的第一种表述方法,私钥中包含 5 个INTEGER 类型的数字依次为 n, e, d, p, q ;对于 RSA 私钥的第二种表达方法,私钥中包含8 个 INTEGER 类型的数字依次为 n, e, d, p, q, dP, dQ 和 qInv ; 交互方法:SSL/TLS 协议中, 服务器端用 Certificate 消息把证书 (公钥)传递给客户端,客户端随机生成 48byt

12、e 的预主密钥,用公钥加密传递给服务器端,作为双方对称加密中一系列密钥计算的基础。如下图: 3.2 DH 算法算法原理:DH 算法用于交换对称密钥,不能用于非对称的加解密。DH 算法简要描述如下: 一个素数 q 和一个整数 a, 称 a 是 q 的一个原根。 双方各自选定一个大数 Xa和Xb ,分别计算得到 Ya = a*Xa mod q 和Yb= a*Xb mod q ;双方交换 Ya 和 Yb ,保密 Xa 和 Xb 。计算对称密钥的方法:K = Ya*Xb mod q = Xb * Ya mod q 密钥格式:DH 算法的公钥中包含了两个整数: a 和 q , 用于生成对称密钥 交互方法服务器一端通过Certificate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论