Solicitud de firma de certificado

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En los sistemas de infraestructura de clave pública (PKI), una solicitud de firma de certificado (CSR o solicitud de certificación) es un mensaje enviado por un solicitante a una autoridad certificadora de la infraestructura de clave pública (PKI) para solicitar un certificado de identidad digital. La CSR generalmente contiene la clave pública para la cual se debe emitir el certificado, información de identificación (como un nombre de dominio) y una prueba de autenticidad que incluye protección de la integridad (por ejemplo, una firma digital). El formato más común para las CSR es la especificación PKCS #10; otros incluyen el formato de mensaje de solicitud de certificado (CRMF) más capaz y el formato SPKAC (clave pública firmada y desafío) generado por algunos navegadores web.

Procedimiento

Antes de crear una CSR para un certificado X.509, el solicitante primero genera un par de claves y mantiene en secreto la clave privada de ese par. La CSR contiene información que identifica al solicitante (como un nombre distinguido), la clave pública elegida por el solicitante y posiblemente más información. Cuando se utiliza el formato PKCS #10, la solicitud debe estar autofirmada utilizando la clave privada del solicitante, que proporciona prueba de posesión de la clave privada pero limita el uso de este formato a claves que se pueden utilizar para firma. El CSR debe ir acompañado de una prueba de origen (es decir, prueba de identidad del solicitante) que exige la autoridad de certificación, y la autoridad de certificación puede comunicarse con el solicitante para obtener más información.

Información típica requerida en una CSR (columna de muestra del certificado X.509 de muestra). Tenga en cuenta que a menudo existen alternativas para los nombres distinguidos (DN); el valor preferido aparece en la lista.

DN Información Descripción Muestra
CNNombre común Este es el nombre de dominio completamente cualificado que desea asegurar *.wikipedia.org
ONombre de la Organización Por lo general el nombre legal de una empresa o entidad y debe incluir cualquier sufijo como Ltd., Inc., o Corp. Wikimedia Foundation, Inc.
OUDependencia de Organización Departamento de organización interna/nombre de división IT
LLocalidad Ciudad, ciudad, pueblo, etc. nombre San Francisco
STEstado Provincia, región, condado o estado. Esto no debe abreviarse (por ejemplo, West Sussex, Normandy, New Jersey). California
CPaís El código ISO de dos letras para el país donde se encuentra su organización Estados Unidos
EMAILDirección de correo electrónico El contacto de la organización, generalmente del administrador de certificados o departamento de TI

Si la solicitud tiene éxito, la autoridad certificadora devolverá un certificado de identidad que ha sido firmado digitalmente utilizando la clave privada de la autoridad certificadora.

Estructura de una RSC PKCS #10

Una solicitud de certificación en formato PKCS #10 consta de tres partes principales: la información de la solicitud de certificación, un identificador de algoritmo de firma y una firma digital en la información de la solicitud de certificación. La primera parte contiene la información importante, incluida la clave pública. La firma del solicitante impide que una entidad solicite un certificado falso de la clave pública de otra persona. Por lo tanto, la clave privada es necesaria para producir una CSR PKCS #10, pero no forma parte de la CSR.

El CSR para certificados de identificación personal y certificados de firma debe tener la dirección de correo electrónico del titular de la identificación o el nombre de la organización en el caso de una identificación comercial.

La primera parte, tipo ASN.1 CertificationRequestInfo, consta de un número de versión (que es 0 para todas las versiones conocidas, 1.0, 1.5 y 1.7 de las especificaciones), el nombre del sujeto, el clave pública (identificador de algoritmo + cadena de bits) y una colección de atributos que proporcionan información adicional sobre el tema del certificado. Los atributos pueden contener extensiones de certificado requeridas, una contraseña de desafío para restringir las revocaciones, así como cualquier información adicional sobre el tema del certificado, posiblemente incluyendo tipos locales o futuros.

Ejemplo de CSR PKCS #10

El estándar PKCS#10 define un formato binario para codificar CSR para su uso con X.509. Se expresa en ASN.1. A continuación se muestra un ejemplo de cómo puede examinar su estructura ASN.1 utilizando OpenSSL:

opensl asn1parse -i -in tu_request.p10

Una CSR se puede representar como un PKCS#10 codificado en Base64; un ejemplo de lo cual es dada a continuación:

-------BEGIN CERTIFICATE REQUEST----MIICzDCCAbQCAQAwgYxCzAJBgNVBAYTAkVOMQ0wCwYDVQIDARub25lMQ0wCwYDVQQHDARub25lMRIwEAYDVQKDAlXaWtpcGVkaWExDTALBgNVBAsMBG5vbmUxGDAWBgNVBAMMDyoud2lraXBlZGlhLm9yZzEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP/U8RlcCD6E8ALPT8LLUR9ygyygPCaSmIEC8zXGJung3ykElXFRz/Jc/bu0hxCxi2YDz5IjxBBOpB/kieG83HsSmZtR+drZIQ6vOsr/ucvpnB9z4XzKuabNGZ5ZiTSQ9L7Mx8FzvUTq5y/ArIuM+FBeuno/IV8zvwAe/VRa8i0QjFXT9vBBp35aeatdnJ2ds50yKCsHcjvtr9/8zPVqqmhl2XFS3Qdqlsprzbgksom67OobJGjaV+fNHNQ0o/rzP//Pl3i7vvaEG7Ff8tQhEwR9nJUR1T6Z7ln7S6cOr23YozgWVkEJ/dSr6LAopb+cZ88FzW5NszU6i57HhA7ECAwEAAaAMA0GCSqGSIb3DQEBBAUAA4IBAQBn8OCVOIx+n0AS6WbEmYDRSspR9xOCoOwYfamB+2Bpmt82R01zJ/kaqzUtZUjaGvQvAaz5lUwoMdaO0X7I5XflsllMFDaYoGD4Rru4s8gz2qG/QHWA8uPXzJVAj6X0olbIdLTEqTKsnBj4Zr1AJCNy/YcG4ouLJr140o26MhwBpoCRpPjAgdYMH60BYfnc4/DILxMVqR9xqK1s98d6Ob/+3wHFK+S7BRWrJQXcM8veAexXuk9lHQ+FgGfD0eSYGz0kyP26Qa2pLTwumjt+nBPlrfJxaLHwTQ/1988G0H35ED0f9Md5fzoKi5evU1wG5WRxdEUPyt3QUXxdQ69i0C+7-------Ese CERTIFICADO REQUEST--

La estructura ASN.1 de la solicitud de firma de certificado anterior (analizada por openssl) aparece de la siguiente manera, donde el primer número es el desplazamiento de bytes, d=profundidad, hl=longitud del encabezado del tipo actual, l =longitud del contenido:

 0:d=0 hl=4 l= 716 cons: SEQUENCE
4:d=1 hl=4 l= 436 cons: SEQUENCE
8:d=2 hl=2 l= 1 prim: INTEGER:00
11:d=2 hl=3 l= 134 cons: SEQUENCE
14:d=3 hl=2 l= 11 cons: SET
16:d=4 hl=2 l= 9 cons: SEQUENCE
18:d=5 hl=2 l= 3 prim: OBJETO:countryName
23:d=5 hl=2 l= 2 prim: PRINTABLES:EN
27:d=3 hl=2 l= 13 cons: SET
29:d=4 hl=2 l= 11 cons: SEQUENCE
31:d=5 hl=2 l= 3 prim: OBJETO:stateOrProvinceName
36:d=5 hl=2 l= 4 prim: UTF8STRING:none
42:d=3 hl=2 l= 13 cons: SET
44:d=4 hl=2 l= 11 cons: SEQUENCE
46:d=5 hl=2 l= 3 prim: OBJETO:LocalityName
51:d=5 hl=2 l= 4 prim: UTF8STRING:none
57:d=3 hl=2 l= 18 cons: SET
59:d=4 hl=2 l= 16 cons: SEQUENCE
61:d=5 hl=2 l= 3 prim: OBJECT:organización Nombre
66:d=5 hl=2 l= 9 prim: UTF8STRING:Wikipedia
77:d=3 hl=2 l= 13 cons: SET
79:d=4 hl=2 l= 11 cons: SEQUENCE
81:d=5 hl=2 l= 3 prim: OBJECT:organizational UnitName
86:d=5 hl=2 l= 4 prim: UTF8STRING:none
92:d=3 hl=2 l= 24 cons: SET
94:d=4 hl=2 l= 22 cons: SEQUENCE
96:d=5 hl=2 l= 3 prim: OBJETO:commonName
101:d=5 hl=2 l= 15 prim: UTF8STRING:*.wikipedia.org
118:d=3 hl=2 l= 28 cons: SET
120:d=4 hl=2 l= 26 cons: SEQUENCE
122:d=5 hl=2 l= 9 prim: OBJETO:Email Dirección
133:d=5 hl=2 l= 13 prim: IA5STRING:none@none.com
148:d=2 hl=4 l= 290 cons: SEQUENCE
152:d=3 hl=2 l= 13 cons: SEQUENCE
154:d=4 hl=2 l= 9 prim: OBJETO:rsaEncryption
165:d=4 hl=2 l= 0 prim: NULL
167:d=3 hl=4 l= 271 prim: BIT STRING
442:d=2 hl=2 l= 0 cons: cont [ 0 ]
444:d=1 hl=2 l= 13 cons: SEQUENCE
446:d=2 hl=2 l= 9 prim: OBJECT:md5WithRSAEncryption
457:d=2 hl=2 l= 0 prim: NULL
459:d=1 hl=4 l= 257 prim: BIT STRING

Esto se generó proporcionando la codificación base64 en el comando openssl asn1parse -in your_request.p10 -inform PEM -i donde PEM (Correo de privacidad mejorada) es el codificación de las reglas de codificación distinguida ASN.1 en base64.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save