En criptografía , PKCS #7 ("PKCS #7: Sintaxis de Mensajes Criptográficos", "CMS") es una sintaxis estándar para almacenar datos firmados y/o cifrados. PKCS #7 forma parte de la familia de estándares denominada Estándares de Criptografía de Clave Pública ( PKCS ), creada por RSA Laboratories .
Estándar
La última versión, 1.5, está disponible como RFC 2315. [ 1 ]
Una actualización de PKCS #7 se describe en RFC 2630, [ 2 ] que fue reemplazada a su vez por RFC 3369, [ 3 ] RFC 3852 [ 4 ] y luego por RFC 5652. [ 5 ]
Los archivos PKCS #7 pueden almacenarse tanto en formato DER sin procesar como en formato PEM . El formato PEM es igual que el formato DER, pero envuelto en codificación Base64 y colocado entre‑ ‑ ‑ ‑ ‑ INICIO PKCS7 ‑ ‑ ‑ ‑ ‑y‑ ‑ ‑ ‑ ‑ FIN PKCS7 ‑ ‑ ‑ ‑ ‑Windows utiliza la .p7bextensión de nombre de archivo [ 6 ] para ambas codificaciones.
Un uso típico de un archivo PKCS #7 sería almacenar certificados y/o listas de revocación de certificados (CRL).
Aquí tienes un ejemplo de cómo descargar primero un certificado, luego encapsularlo en un archivo PKCS #7 y, a continuación, leer desde ese archivo:
$ echo '' | openssl s_client -connect example.org:443 -host example.org 2 >/dev/null | openssl x509 > example.org.cer 2 >/dev/null$ openssl crl2pkcs7 -nocrl -certfile example.org.cer -out example.org.cer.pem.p7b $ openssl pkcs7 -in example.org.cer.pem.p7b -noout -print_certs subject=C = US, ST = California, L = Los Angeles, O = Internet Corporation for Assigned Names and Numbers, OU = Technology, CN = www.example.org issuer=C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CATipos de archivo
.p7r– Respuesta a la solicitud de servicio al cliente (CSR). Contiene el certificado recién firmado y el certificado de la propia CA..p7sFirma digital. Puede contener el archivo o mensaje original firmado. Se utiliza en S/MIME para la firma de correo electrónico. Se define en la RFC 2311..p7m– Mensaje (SignedData, EnvelopedData), por ejemplo, archivo cifrado ("enveloped"), mensaje o correo electrónico MIME. Definido en RFC 2311..p7c– Estructura SignedData degenerada "solo certificados", sin datos para firmar. Definida en RFC 2311..p7b– Estructura SignedData sin datos, solo paquete de certificado(s) y/o CRL (rara vez) pero no una clave privada. Utiliza el formato DER o BER o PEM que comienza con-----BEGIN PKCS7-----. El formato utilizado por Windows para el intercambio de certificados. Compatible con Java pero a menudo tiene.keystorecomo extensión. A diferencia de.pemlos certificados de estilo, este formato tiene una forma definida de incluir certificados de ruta de certificación.
Referencias
- ↑ RFC 2315 – Estándares de criptografía de clave pública (PKCS) n.° 7: Especificación de la sintaxis de mensajes criptográficos, versión 1.5, marzo de 1998
- ↑ RFC 2630 – Sintaxis de mensajes criptográficos, junio de 1999
- ↑ RFC 3369 – Sintaxis de mensajes criptográficos (CMS), agosto de 2002
- ↑ RFC 3852 – Sintaxis de mensajes criptográficos (CMS), julio de 2004
- ↑ RFC 5652 – Sintaxis de mensajes criptográficos (CMS), septiembre de 2009
- ↑ "Extensión .p7b: lista de programas de Windows que pueden abrir archivos .p7b" .
Enlaces externos
- Página de manual para openssl-pkcs7
- Estándares de criptografía