Mi certificado S / MIME (creado con OpenSSL) no coincide con mi dirección de correo electrónico

6

Creé un certificado con OpenSSL y los siguientes comandos:

openssl req   -x509 -nodes -days 365   -subj '/C=DE/ST=state/L=city/CN=hostname'   -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

openssl pkcs12 -export   -out mycert.pfx -in mycert.pem   -name "My Certificate"

Y lo instalé con mi máquina con Windows 7. Luego traté de enviar un correo electrónico cifrado y recibí un mensaje que indica que no hay un certificado que coincida con mi dirección de correo electrónico

¿Qué me estoy perdiendo?

Editar 1

Gracias por esas ideas, Thomas. Agregué la dirección de correo electrónico, pero el mensaje sigue apareciendo :-( También leí sobre un certificado raíz, ¿necesito tal cosa?

    
pregunta Sven 09.02.2012 - 14:59
fuente

2 respuestas

5

Un certificado vincula una clave pública a una identidad . La noción de identidad que utiliza S / MIME son las direcciones de correo electrónico. Es decir, para que su certificado sea utilizable con S / MIME, debe contener su dirección de correo electrónico.

La dirección de correo electrónico se puede agregar en el nombre del asunto (simple pero oficialmente en desuso), como esto:

openssl req -x509 -nodes -days 365 -subj '/C=DE/ST=state/L=city/CN=Sven/[email protected]' -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

o (la "solución normal", pero más compleja) como parte de una extensión de "Nombre alternativo del sujeto" (con OpenSSL, esto requiere el uso del indicador -extensions y un archivo de configuración; consulte la documentación ).

    
respondido por el Thomas Pornin 09.02.2012 - 15:53
fuente
3

No use emailAddress , sino subjectAltName en su lugar. Puede hacer esto con un solo comando y sin editar el archivo openssl.cnf :

openssl req -x509 \
    -newkey rsa:4096 \
    -sha256 \
    -nodes \
    -days 3650 \
    -keyout smime.key \
    -out smime.crt \
    -subj "/CN=Nobody" \
    -extensions SAN \
    -config <(cat /etc/ssl/openssl.cnf; echo '[SAN]'; echo 'subjectAltName=email:[email protected]')

Para obtener más información, consulte: Proporcionar subjectAltName para openssl directamente en la línea de comando

    
respondido por el vog 28.12.2016 - 18:50
fuente

Lea otras preguntas en las etiquetas