Diferença entre X. 509 e pem [duplicado]

[[2] esta pergunta já tem uma resposta aqui:

  • Quais são as diferenças entre .pem .cer e ...der? 1 resposta

em criptografia, Qual é a diferença entre X. 509 e pem?

o formato X. 509 pode conter uma chave privada? A chave privada pode estar no formato pem?

Author: Ville Miekk-oja, 2016-08-16

1 answers

O X. 509 é uma série de normas, enquanto o PEM é apenas a representação de objectos X. 509 num ficheiro (codificação). Literalmente, qualquer dado pode ser representado no formato PEM. Qualquer coisa que possa ser convertida em uma matriz de bytes (e qualquer coisa pode ser, porque a RAM é uma matriz de bytes muito grande) pode ser representada em formato PEM.

Todos os objectos X. 509 são transferíveis e são apresentados usando uma notação de sintaxe abstrata um (ASN.1) como uma matriz de bytes. As matrizes de bytes são ótimas quando são transmitidas por cima redes, mas nem sempre úteis quando armazenadas em algum lugar. Outra coisa é que você não pode facilmente determinar o tipo de objeto X. 509 sem análise de conteúdo thorought.

PEM significa Privacy Enhanced Mail e é definida em RFC1421. Enquanto o PEM foi desenvolvido para propósitos um pouco diferentes, o padrão define a apresentação PEM, especialmente quando é necessário representar caracteres não-imprimíveis com caracteres apenas para impressão. Em criptografia, a PEM está associada apenas com Apresentação de objectos X. 509. Além disso, o PEM fornece dados adicionais para identificar objetos embutidos.

ASN.1 forma de objeto X. 509 é uma matriz de bytes, por exemplo (série de octetos para representar bytes):

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

Uma vez que o hex não é útil para representar dados binários porque requer duas vezes mais espaço do que os dados originais, uma codificação Base64 mais eficiente é usada. E os cabeçalhos e rodapés especiais são usados para designar o tipo de objecto incorporado:

X. 509 Certificado

-----BEGIN CERTIFICATE-----
MIIEITCCA+CgAwIBAgIUKMmxmDbjbHqt+Yzwj5lflBxuQwEwCQYHKoZIzjgEAzAjMSEwHwYDVQQD
ExhUb2tlbiBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTIxMTE2MTgzODMwWhcNMTIxMTIzMTgzODMw
WjAtMSswKQYDVQQDHiIAYgBiADEANAAxADkAYQAyAGMAZgBjADEAZQAwADAAOAAAMIGfMA0GCSqG
<...>
-----END CERTIFICATE-----

Lista De Revogação De Certificados X. 509

-----BEGIN X509 CRL-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END X509 CRL-----

Pedido De Certificado X. 509

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END NEW CERTIFICATE REQUEST-----

Chave privada PKCS # 1

-----BEGIN RSA PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END RSA PRIVATE KEY-----

Chave privada PKCS # 8

-----BEGIN PRIVATE KEY-----
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA
<...>
-----END PRIVATE KEY-----
E assim por diante.
 5
Author: Crypt32, 2016-08-16 15:07:36