首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X.509与pem的区别

X.509与pem的区别
EN

Stack Overflow用户
提问于 2016-08-16 21:56:26
回答 1查看 14.4K关注 0票数 8

在密码学中,X.509和pem有什么不同?

X.509格式可以包含私钥吗?私钥可以为pem格式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 22:17:45

X.509是一系列标准,而PEM只是文件中的X.509对象表示(编码)。从字面上讲,任何数据都可以用PEM格式表示。任何可以转换为字节数组的东西(任何东西都可以,因为RAM是一个非常大的字节数组)都可以用PEM格式表示。

所有X.509对象都是可传输的,并使用抽象语法表示法一(ASN.1)作为字节数组来表示。字节数组在通过网络传输时很有用,但当存储在某个地方时并不总是有用的。另一件事是,如果不进行大量的内容分析,就不能很容易地确定X.509对象类型。

PEM代表隐私增强邮件,在RFC1421中定义。虽然开发PEM的目的略有不同,但该标准定义了PEM表示,特别是当需要仅用可打印字符表示不可打印字符时。在密码学中,PEM仅与X.509对象表示相关联。此外,PEM还提供额外的数据来识别嵌入的对象。

X.509对象的ASN.1形式是字节数组,例如(表示字节的一系列八位字节):

代码语言:javascript
复制
3a 20 63 65 72 74 6c 69  62 5c 6c 64 61 70 2e 63
70 70 28 32 31 33 31 29  3a 20 6c 64 61 70 65 72

由于十六进制不适用于表示二进制数据,因为它需要比原始数据多两倍的空间,因此使用了更有效的Base64编码。特殊的页眉和页脚用来表示嵌入的对象类型:

X.509证书

代码语言:javascript
复制
-----BEGIN CERTIFICATE-----
MIIEITCCA+CgAwIBAgIUKMmxmDbjbHqt+Yzwj5lflBxuQwEwCQYHKoZIzjgEAzAjMSEwHwYDVQQD
ExhUb2tlbiBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTIxMTE2MTgzODMwWhcNMTIxMTIzMTgzODMw
WjAtMSswKQYDVQQDHiIAYgBiADEANAAxADkAYQAyAGMAZgBjADEAZQAwADAAOAAAMIGfMA0GCSqG
<...>
-----END CERTIFICATE-----

X.509证书吊销列表

代码语言:javascript
复制
-----BEGIN X509 CRL-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END X509 CRL-----

X.509证书申请

代码语言:javascript
复制
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END NEW CERTIFICATE REQUEST-----

PKCS#1私钥

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END RSA PRIVATE KEY-----

PKCS#8私钥

代码语言:javascript
复制
-----BEGIN PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END PRIVATE KEY-----

诸若此类。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38976885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档