2011-06-24 13 views
43

Según el X.509, un certificado tiene un sujeto de atributo.Asunto del certificado X.509

 
C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, 
CN=www.freesoft.org/[email protected] 

Este es el valor de sujeto típico. La pregunta es: ¿cuáles son los tipos (o etiquetas) de esos atributos (C, ST, L, O, OU, CN) y cuál es su formato?

+0

Esos atributos se especifican en [X.520: Tecnología de la información - Interconexión de sistemas abiertos - El directorio: tipos de atributos seleccionados] (http://www.itu.int/rec/T-REC-X.520). Cuando están presentes en el * Subject * o * Issuer *, se llaman * Nombres Distinguidos relativos * (RDN), y forman el * Nombre distinguido * (DN). El DN es simplemente una combinación de RDN. – jww

+2

¿Dónde están definidos (si es que lo son) los nombres cortos (como CN, O, OU ...)? Windows también los usa (y opensssl), por lo que debe haber al menos algún estándar informal. –

Respuesta

67

IETF PKIX (última versión RFC 5280) es un perfil bien aceptado para los certificados. Desde el punto 4.1.2.4, los siguientes campos deben ser apoyadas (He añadido entre paréntesis es el OpenSSL larga y opcional nombre corto):

  • país (countryName, C),
  • organización (OrganizationName, O),
  • unidad organizativa (organizationalUnitName, OU),
  • nombre distinguido calificador (dnQualifier),
  • estado o una provincia (stateOrProvinceName, ST),
  • nombre común (commonName, CN) y
  • número de serie (número de serie).

También hay una lista de elementos que deben ser soportados:

  • localidad (localidad, L),
  • título (título),
  • apellido (apellido, SN),
  • nombre dado (givenName, GN),
  • iniciales (iniciales),
  • seudónimo (seudónimo) y
  • calificador de generación (generationQualifier).

Los valores se deben codificar en UTF8String o PrintableString (algunos de ellos solo en PrintableString, y algunas excepciones en IA5String). El estándar también tiene una longitud máxima para todos los tipos de campo (Apéndice A.1)

Por razones de compatibilidad, las implementaciones también deben admitir componentes de dominio (domainComponent, DC) codificados en IA5String. Se llama la atención sobre el correo electrónico (emailAddress) y su codificación (IA5String, pero se considera obsoleto en los DN (debe estar en la extensión del nombre alternativo del sujeto)

+0

¿Cuáles son los códigos de PrintableString y UTF8String? – Sergey

+1

UTF8String es 0x0C, PrintableString es 0x13 y IA5String es 0x16. –

+0

qué atributos son UTF8Strings y cuáles son PrintableStrings (me refiero a C, O, OU ...). ¿tienen sus oids? – Sergey

Cuestiones relacionadas