S/MIME (Secure/Multipurpose Internet Mail Extensions) è un protocollo utilizzato per apporre una firma digitale alle e-mail. Una firma S/MIME consente ai destinatari di verificare due aspetti importanti: che il messaggio provenga effettivamente dal mittente dichiarato e che il suo contenuto non sia stato alterato durante il trasferimento.
Con 4D 21 R5, la classe SMTPTransporter semplifica l’aggiunta di una firma S/MIME alle e-mail in uscita. Ecco come funziona.
Cosa significa “firmare un’e-mail”? In parole semplici, significa che all’e-mail viene aggiunta una parte S/MIME. Questa parte contiene un CRC crittografato con la chiave privata del mittente. Quando riceve l’e-mail, il server può utilizzare la chiave pubblica del mittente previsto per decrittografarla. In questo modo, verifica sia l’autenticità del mittente sia l’integrità dell’e-mail.
Per inviare un’e-mail firmata con S/MIME, sono necessari un certificato e la relativa chiave privata. Di solito sono raggruppati in un file PKCS#12, che in genere ha estensione .p12 o .pfx. È possibile memorizzare il certificato nel proprio keystore oppure caricarlo direttamente dal disco.
Una volta ottenuto il certificato, per firmare un’e-mail bastano poche righe di codice aggiuntive:
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)
È semplicissimo!
Quando il destinatario apre il messaggio, il suo client di posta elettronica è in grado di rilevare la firma S/MIME e di verificarla utilizzando il certificato del mittente. Se la verifica ha esito positivo, il destinatario può essere certo che l’e-mail sia stata firmata dal mittente previsto e che non sia stata modificata dopo la firma. La firma S/MIME è un modo semplice ma efficace per rafforzare la sicurezza e l’affidabilità delle vostre comunicazioni via e-mail e, con 4D 21 R5, la sua attivazione richiede pochissimo codice aggiuntivo.
Spero che questa funzionalità vi aiuti a migliorare la sicurezza delle vostre e-mail. Se avete domande, non esitate a contattarmi sul forum ufficiale di 4D.
PS: Alcuni client di posta non forniscono informazioni sulla firma di un’e-mail; ciò vale in particolare per i servizi di webmail. Thunderbird e Mac Mail mostrano invece le informazioni corrette.
PPS: Per firmare un’e-mail, è necessario un certificato emesso da un’autorità di certificazione. Potete crearne uno voi stessi con OpenSSL, ma ciò comporta l’aggiunta del certificato dell’autorità di certificazione tra i certificati attendibili del client di posta elettronica del destinatario. La soluzione più semplice è ottenere un certificato da un’autorità di certificazione riconosciuta a livello globale. Alcune rilasciano tali certificati anche gratuitamente (ad esempio Actalis).
Al momento non è possibile lasciare commenti su questo post.