S/MIME (Secure/Multipurpose Internet Mail Extensions) es un protocolo que se utiliza para firmar digitalmente los correos electrónicos. Una firma S/MIME ayuda a los destinatarios a verificar dos aspectos importantes: que el mensaje procede realmente del remitente indicado y que su contenido no ha sido alterado durante la transmisión.
Con 4D 21 R5, la clase SMTPTransporter facilita la incorporación de una firma S/MIME a tus correos electrónicos salientes. Así es como funciona.
¿Qué significa «firmar un correo electrónico»? En pocas palabras, significa que se añade una parte S/MIME al correo electrónico. Esta parte contiene un CRC cifrado con la clave privada del remitente. Al recibir el correo electrónico, el servidor puede utilizar la clave pública del remitente esperado para descifrarlo. De este modo, valida tanto la autenticidad del remitente como la integridad del correo electrónico.
Para enviar un correo electrónico firmado con S/MIME, necesitas un certificado y su clave privada asociada. Normalmente se incluyen juntos en un archivo PKCS#12, que suele tener la extensión .p12 o .pfx. Puedes almacenar el certificado en tu almacén de claves o cargarlo directamente desde el disco.
Una vez que tengas tu certificado, firmar un correo electrónico solo requiere unas pocas líneas de código adicionales:
var $transporter : 4D.SMTPTransporter
var $options ; $result : Object
$options:=New object
//Enter the information for the SMTP server
// Enable S/MIME signing
$options.certificate:=File("myCertificateFile.p12")
$options.certificatePassword:="certificatePasswordOrNothingIfBlank"
$transporter:=4D.SMTPTransporter.new($options)
$email:=New object
//Enter the content of the email
$result:=$transporter.send($email)
¡Así de sencillo!
Cuando el destinatario abre el mensaje, su cliente de correo electrónico puede detectar la firma S/MIME y verificarla utilizando el certificado del remitente. Si la verificación se realiza con éxito, el destinatario puede estar seguro de que el correo electrónico fue firmado por el remitente esperado y de que no ha sido modificado desde que se firmó. La firma S/MIME es una forma sencilla pero eficaz de reforzar la seguridad y la fiabilidad de tus comunicaciones por correo electrónico, y con 4D 21 R5, habilitarla requiere muy poco código adicional.
Espero que esta función te ayude a mejorar la seguridad de tus correos electrónicos. Si tienes alguna pregunta, no dudes en ponerte en contacto conmigo en el foro oficial de 4D.
P. D.: Algunos clientes de correo no proporcionan información sobre la firma de un correo electrónico; esto ocurre especialmente con los servicios de correo web. Thunderbird y Mac Mail muestran la información correcta.
P. P. D.: Para firmar un correo electrónico, necesitarás un certificado emitido por una autoridad de certificación. Puedes crear uno tú mismo con OpenSSL, pero eso implica añadir el certificado de la autoridad de certificación a los certificados de confianza del programa de correo electrónico del destinatario. La solución más sencilla es obtener un certificado de una autoridad de certificación reconocida a nivel mundial. Algunas incluso emiten estos certificados de forma gratuita (por ejemplo, Actalis).
Por el momento, no se pueden publicar comentarios en esta entrada.