Mi empresa me envió un certificado para mi teléfono inteligente. El nombre del archivo es "3274634.p12". La documentación dice "Ingrese su nombre principal de usuario (UPN) como inicio de sesión" y describe cómo obtener este valor con Internet Explorer.
¿Cómo puedo hacer lo mismo en Linux (Kubuntu 13.04)?
linux
certificate
Aaron Digulla
fuente
fuente
Respuestas:
El archivo PKCS # 12 generalmente contiene un certificado X.509 y su clave privada asociada. Toda la información se almacena en el certificado, por lo que debe extraerla primero:
(
foo.pem
contendrá tanto el certificado y la clave privada)El UPN se almacena como un tipo especial de "subjectAltName" en el certificado. Desafortunadamente, OpenSSL aún no sabe cómo mostrar UPN (así como algunos otros tipos de nombres), por lo que el comando habitual para examinar certificados
openssl x509 -noout -text < foo.pem
) no trabajará. En su lugar, necesitará herramientas de bajo nivel.Separe el certificado en un archivo propio (también puede hacerlo con un editor de texto):
Imprima el certificado como una estructura ASN.1:
Encuentra las líneas que describen la extensión subjectAltName:
Y correr
asn1parse
de nuevo, esta vez diciéndole que profundice en el contenido de la extensión (que es otra estructura ASN.1); en este ejemplo, el valor (línea "Cadena OCTETA") comienza en el desplazamiento 750:Finalmente, busque la UPN en el volcado:
Si tiene instaladas las herramientas GnuTLS, existe una manera más rápida pero no tan confiable. Una vez que haya extraído el certificado, puede enviarlo a
certtool -i < foo.cert
, e imprimirá el contenido en bruto, incluso de los nombres que no reconoce:Busque el OID
1.3.6.1.4.1.311.20.2.3
; Será seguido por los contenidos en bruto del nombre. Afortunadamente, consisten en una sola UTF8String, por lo que la salida "otherName ASCII" se entiende fácilmente, simplemente elimine los primeros dos bytes (que se muestran aquí como puntos).Una forma más sencilla sería simplemente intentar ingresar su propio inicio de sesión de Windows; La UPN está siempre en la forma.
username@domain
.(Es un poco triste que de todas las herramientas que he probado, casi ninguna de ellas sepa cómo interpretar tipos tan simples y de uso común, incluso si son de propiedad).
fuente
:name@domain
. Supongo que los dos puntos pueden / deben ser ignorados?name@domain
.