¿Puedo crear mi propio certificado S / MIME para el cifrado de correo electrónico? [cerrado]

19

Tengo un pequeño problema aquí. Tenga paciencia conmigo ya que esto puede ser un caso de "no hacer la pregunta correcta".

Antecedentes: uso de Apple Mail. Desea cifrar / descifrar correo electrónico, pero GPGMail (y aparentemente PGP) no es compatible con Snow Leopard.

Básicamente, necesito crear un certificado S / MIME para usar en el cifrado de correo electrónico. No quiero, ni me importa una Autoridad de Certificación. Simplemente quiero un certificado rápido y sucio. ¿Es esto posible (usando OPENSSL, etc.) o todo el proceso depende de una autoridad superior que me obliga a establecer una CA a gran escala o tratar con una empresa (por ejemplo, Verisign, Thawte) para obtener un certificado? Mis criterios son gratificación instantánea y gratis.

Mejor.

humilde_coder
fuente
1
Tenga en cuenta que su certificado se utiliza para dos propósitos en S / MIME. Para firmar sus correos electrónicos, y para descifrar el correo electrónico enviado a usted por otra persona. Para cifrar el correo electrónico a otra persona, necesitará su certificado. Por lo general, los clientes de correo electrónico se configuran de inmediato para confiar en un conjunto predeterminado de CA. Si uno de estos no firma los certificados, recibirá al menos un mensaje desagradable y posiblemente incluso un sistema que no funcione.
James reinstala a Monica Polk el
1
Sé que esta es una pregunta anterior, pero para referencia futura, el complemento GPGMail ahora funciona en Snow Leopard gpgtools.org/installer/index.html
Jason Whitehorn
Sé que este es un comentario anterior, pero GPGMail ya no es gratuito para OSX.
nycynik

Respuestas:

23

Sí, apesta que Apple Mail no sea compatible con GPG. :-( Ojalá lo hiciera porque también prefiero el correo electrónico cifrado GPG.

También estoy de acuerdo en que es difícil obtener información sobre S / MIME y generar sus propios certificados de correo electrónico. Descubrí que la página web de Paul Bramscher tiene una buena descripción de cómo crear su propio certificado de Autoridad de certificación.

No pretendo entender completamente el proceso del certificado, pero esto es lo que he podido reconstruir. Debe consultar la página de manual de openssl para obtener información más detallada sobre cada uno de los comandos que se muestran a continuación.

Crear autoridad de certificación

El primer paso es crear su propia Autoridad de certificación (CA). Los comandos son ...

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

y sigue las indicaciones.

Deberá emitir el certificado de su CA (es decir, el contenido de ca.crt ) a todos y cada uno de los destinatarios de su correo electrónico cifrado. Los destinatarios deberán instalar y confiar en su certificado de CA para que su correo electrónico cifrado sea confiable. La instalación variará para cada cliente de correo utilizado.

En su caso, deberá agregar el certificado de su CA a su Llavero Apple. Hay muchas publicaciones en la web sobre cómo importar y confiar en un certificado de CA en el Apple Keychain.

Crear solicitud de certificado de correo electrónico personal

Ahora necesita crear una solicitud de certificado. Cree uno para cada dirección de correo electrónico desde la que desea enviar un correo electrónico. Ejecute los siguientes comandos ...

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

y sigue las indicaciones.

La autoridad de certificación firma su solicitud de certificado

Su certificado personal debe estar firmado por su CA. En este caso, usted!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

El resultado es su certificado firmado.

Prepare su certificado para importar a su aplicación de correo

Necesita convertir su certificado de .crt(formato PEM, creo) a .p12(formato PCKS12).

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Ahora puede importar su *.p12*certificado formateado a su cliente de correo. En su caso, importe el *.p12*archivo al Apple Keychain. Una vez que el certificado se instala correctamente, Apple Mail comenzará a usar su certificado.

Hay una manera más fácil

Por supuesto, una vez que haya creado su propia CA, hay una manera más fácil de administrar los certificados creados por su propia Autoridad de Certificación. openssl viene con un script llamado ...

# /usr/lib/ssl/misc/CA.pl

lo que simplifica el proceso de ser su propia Autoridad de certificación. ¡Incluso hay una página de manual para CA.pl!

Condenar
fuente
En la sección Autoridad de certificación firma su solicitud de certificado. El argumento "-CAKey" debe ser "-CAkey" con minúscula 'k' - al menos para mi versión Open SSL 1.0.0a 1 Jun 2010
KevM
2
Cambié -CAKey a -CAkey. Esta es una respuesta realmente excelente, pero el comentario secundario sobre GPG no está justificado. S / MIME tiene muchas ventajas sobre GPG. Además de un soporte más amplio, incluye el certificado con cada mensaje firmado, proporcionando un mecanismo de distribución de certificados incorporado.
vy32
No olvide establecer algunas restricciones al certificado, consulte security.stackexchange.com/a/30069/3272
Tobias Kienzler
8

Gratis y firmado por una CA: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Andrew McGregor
fuente
1
Commodo utiliza la etiqueta <keygen> para permitir que su navegador cree una CSR sin compartir la clave privada. Eso no funciona en la mayoría de los navegadores modernos (por ejemplo, Chrome 49+).
mhvelplund
Cita de la página: " Utilice Mozilla® Firefox® o Microsoft® Internet Explorer® 8+ para recoger su certificado. Los certificados de correo electrónico no se pueden recopilar con Google® Chrome® o Microsoft Edge. ". Esto coincide con la tabla de compatibilidad de MDN .
Franklin Yu el
funciona utilizando safari.
nycynik
1

Como han dicho otros, la respuesta es obviamente sí. Puede generarlo a través de openssl, o puede usar uno de los proveedores que otorga un certificado de correo electrónico x509 gratuito.

Dicho esto, la pregunta más importante es: ¿con qué usan las personas con las que intercambian correos electrónicos? Soy activo en la comunidad de software libre, por lo que la mayoría de las personas con las que intercambio correos electrónicos usan GPG. Los únicos que conozco que usan S / MIME lo hacen en su correo electrónico de trabajo como una cuestión de política corporativa.

Si las personas a las que envía un correo electrónico no usan S / MIME, no podrá cifrarlas y no podrán verificar los correos electrónicos firmados.

David
fuente