Sólo puedo responder a la parte de Mac Mail de esta pregunta, ya que no quiero probar la parte de Thunderbird.
Sólo escribo esta parte para las personas que no están familiarizadas con el cifrado asimétrico:
En esta forma de cifrado se necesitan dos claves, una privada y otra pública. En este sentido, un certificado no es más que la clave pública, pero tiene algo más de información que una simple clave, dice quién eres, tu organización, etc. La privada nunca debe perderse y darse a otros. Si se pierde, hay que empezar de nuevo y la persona que lo haya robado puede descifrar todo, así que guárdelo y protéjalo con una contraseña. Normalmente los certificados son firmados por las llamadas Autoridades de Certificación y suelen cobrar por su servicio. Por eso algunas personas crean su propia CA y certificados autofirmados, lo que es más barato.
La forma en que funciona la encriptación del correo electrónico es que usted envía a alguien su clave pública (certificado) firmando su correo electrónico con ella. Puedes firmar cualquier correo electrónico, ya que no se produce ningún daño al dar tu clave pública. A continuación, esta otra persona tiene tu clave pública y te encripta un correo electrónico con esta clave. A partir de este momento nadie, salvo la NSA con un posible ordenador Quantum, puede descifrar este mensaje en un tiempo razonable dada la longitud adecuada de la clave. O algunos se infiltran en las propias librerías de encriptación, como el bug HEARTBLEED (latido del corazón), que podría haber sido intencionado y quién sabe cuántas más de estas puertas traseras hay. Los certificados suelen tener una duración limitada y deben renovarse cada cierto tiempo.
Así que cosas para llevar: Necesitas una clave pública y una privada y sólo das la pública.
Esto es lo que he hecho:
-
Creé una CA root y una CA Firmante (no es necesario, pero es lo que hice) y utilicé este muy buen tutorial para ello: CAs de varios niveles en http://pages.cs.wisc.edu/~zmiller/ca-howto/
-
Entonces cambié mi openssl.conf de tal manera que Mac Mail me permite utilizar el certificado para el cifrado del correo electrónico también.
Lo importante es tener el keyUsage y el extKeyUsage
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment
extKeyUsage = emailProtection, Apple .Mac email signing, Apple .mac email encryption
Para los que les gustan las especificaciones, lean esto https://www.ietf.org/rfc/rfc2459 pero no encontrarás las partes específicas de MacOS en él.
-
Creó la clave privada y el certificado:
openssl req -newkey rsa:4096 -keyout <e-mail>.key -config openssl.cnf -out <e-mail>.req -days 3650
openssl ca -config openssl.cnf -out <e-mail>.crt -infiles <e-mail>.req
Se podría argumentar que diez años es demasiado tiempo de vida de un certificado, pero yo quería tener algo que funcionara ahora y dentro de 10 años o incluso menos esta forma de encriptación no funcionaría de todos modos. No quería renovar los certificados todo el tiempo ya que los creé para toda mi familia.
Si algo va mal en este proceso, puedes revocar el certificado:
openssl ca -config openssl.cnf -revoke <e-mail>.crt
También hay que crear crls, pero yo tampoco lo hice.
-
Claves convertidas a un formato p12
openssl pkcs12 -export -in <e-mail>.crt -inkey <e-mail>.key -out <e-mail>.p12
-
Importado p12 al Llavero en OS X 10.9.4 (13E28)
-
Marcado como de confianza
-
Certificado asociado a la cuenta de correo en las preferencias de MacOS Mail en Información de la cuenta en el campo Certificado TLS. Enviar correo a otra dirección de correo que también tiene un cert y una clave y firmó el mensaje con mi clave pública, bueno MacOS Mail hizo esto por mí.
-
Recibí el correo y devolví mi primer correo encriptado.
Lo que me ocurrió cuando probé el procedimiento con mi mujer fue que el símbolo del candado en mi correo de respuesta al primer correo firmado estaba en gris y me quedé perplejo. Esto significaba que no podía cifrar los correos. La razón fue que recibí el correo firmado que me había enviado mi mujer, pero no marqué esta firma como de confianza en el llavero de MacOS, ya que todas las firmas que uno recibe también van a parar allí. Después de marcarla como de confianza y reiniciar Mail todo funcionó bien.
Tal vez alguien o incluso la persona que pregunta puede añadir la parte de Thunderbird a esta respuesta.