Atributos propios openssl

1

¿Hay alguna forma de incluir mis propios atributos en un certificado de openssl?

por ej. ... Nombre del país (código de 2 letras) [GB]:

Nombre del estado o provincia (nombre completo) [Estado]:

Nombre de localidad (por ejemplo, ciudad) [Ciudad]:

Nombre de la organización (por ejemplo, compañía) [My Company Ltd]:

Nombre de la unidad organizativa (por ejemplo, sección) [Sección]:

Nombre común (por ejemplo, su nombre o el nombre de host de su servidor) []:

Cosas extra (por ejemplo, dunno) []:

Extra Stuff2 (por ejemplo, dunno2) []: .....

    
pregunta guest123 15.05.2014 - 22:19
fuente

2 respuestas

2

Sí. Hay dos opciones: configúrelo en la solicitud y asegúrese de que se conserva al firmar (algo a lo que no le va a interesar una CA comercial); o establecer explícitamente durante la firma.

El DN (nombre distinguido) es un campo único en una solicitud o certificado. Es un nombre X.500, por lo que tiene uno o más componentes de pares de atributo / valor escritos. Este significado de "atributo" no es exactamente lo mismo que un "atributo" utilizado en una solicitud, esta parte de la documentación explica algunas de las distinciones.

(También hay una distinción entre X.509 atributos y extensiones , aquí está mi respuesta que muestra cómo hacerlo agregar extensiones arbitrarias a un certificado al firmar, que podría ser lo que necesita si desea agregar algo que no esté en el DN.)

Si desea componentes adicionales en el nombre del sujeto (DN), es más fácil use la opción -subj cuando genere la solicitud o cuando la firme. Si OpenSSL aún no conoce los tipos, puede usar los OID directamente o agregarlos a través de oid_file o oid_section en openssl.cnf .

Sin embargo, tenga en cuenta que los atributos que son ampliamente admitidos en un DN son limitados, consulte RFC 5280 §4.1. 2.4 (estas son las restricciones para el campo Emisor , pero §4.1.2.6 para el campo Asunto se refiere a esto para sus requisitos).

Si desea que se le pregunten durante el proceso normal de openssl req , puede agregarlos a [ req_distinguished_name ] (donde formarán parte del DN) o a [ req_attributes ] (donde entonces se convertirá en un atributo adicional en la solicitud, que probablemente sea menos útil para usted). Hay algunos ejemplos en la req documentation y en la documentación de extensiones .

    
respondido por el mr.spuratic 16.05.2014 - 15:56
fuente
1

Los campos que estás listando se utilizan para incluir al sujeto, por lo que creo que estás preguntando qué puedes poner en Subject field. La respuesta es, ese es un nombre x.501, y hay todo tipo de cosas que puedes poner ahí. No soy un experto, pero creo que incluso puedes hacer tus propias cosas y ponerlas allí si las codificas correctamente y no pisoteas los OID existentes.

Dicho esto, no hay garantía de que su CA mantendrá realmente todo lo que ponga allí cuando firme su certificado. Por ejemplo, Startcom elimina un número de atributos del sujeto como O (Organización) y OU (Unidad organizativa) antes de firmar. RFC 5280 tiene mucha discusión sobre lo que debe aceptarse y cómo deben tolerarse las cosas que no son necesarias, en un certificado.

    
respondido por el gowenfawr 16.05.2014 - 02:23
fuente

Lea otras preguntas en las etiquetas