S/MIME (Secure/Multipurpose Internet Mail Extensions) ist ein Protokoll, das zur digitalen Signierung von E-Mails verwendet wird. Eine S/MIME-Signatur hilft den Empfängern dabei, zwei wichtige Dinge zu überprüfen: dass die Nachricht tatsächlich von dem angegebenen Absender stammt und dass ihr Inhalt während der Übertragung nicht verändert wurde.
Mit 4D 21 R5 erleichtert die Klasse „SMTPTransporter“ das Hinzufügen einer S/MIME-Signatur zu Ihren ausgehenden E-Mails. So funktioniert es.
Was bedeutet es, eine E-Mail zu „signieren“? Einfach ausgedrückt bedeutet dies, dass der E-Mail ein S/MIME-Teil hinzugefügt wird. Dieser Teil enthält einen CRC, der mit dem privaten Schlüssel des Absenders verschlüsselt ist. Beim Empfang der E-Mail kann der Server den öffentlichen Schlüssel des erwarteten Absenders verwenden, um diesen Teil zu entschlüsseln. Auf diese Weise überprüft er sowohl die Authentizität des Absenders als auch die Integrität der E-Mail.
Um eine S/MIME-signierte E-Mail zu versenden, benötigen Sie ein Zertifikat und den dazugehörigen privaten Schlüssel. Diese sind in der Regel in einer PKCS#12-Datei gebündelt, meist mit der Endung .p12 oder .pfx. Sie können das Zertifikat entweder in Ihrem Keystore speichern oder direkt von der Festplatte laden.
Sobald Sie über Ihr Zertifikat verfügen, erfordert das Signieren einer E-Mail nur noch wenige zusätzliche Codezeilen:
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)
So einfach ist das!
Wenn der Empfänger die Nachricht öffnet, kann sein E-Mail-Client die S/MIME-Signatur erkennen und anhand des Zertifikats des Absenders überprüfen. Ist die Überprüfung erfolgreich, kann der Empfänger sicher sein, dass die E-Mail vom erwarteten Absender signiert wurde und seit der Signierung nicht verändert wurde. Die S/MIME-Signatur ist eine einfache, aber wirksame Methode, um die Sicherheit und Vertrauenswürdigkeit Ihrer E-Mail-Kommunikation zu erhöhen, und mit 4D 21 R5 erfordert die Aktivierung dieser Funktion nur sehr wenig zusätzlichen Code.
Ich hoffe, diese Funktion hilft Ihnen dabei, die Sicherheit Ihrer E-Mails zu verbessern. Falls Sie Fragen haben, zögern Sie nicht, mich im offiziellen 4D-Forum zu kontaktieren.
PS: Einige E-Mail-Clients zeigen keine Informationen zur Signatur einer E-Mail an; dies gilt insbesondere für Webmail-Dienste. Thunderbird und Mac Mail zeigen die entsprechenden Informationen an.
PPS: Um eine E-Mail zu signieren, benötigen Sie ein von einer Zertifizierungsstelle ausgestelltes Zertifikat. Sie können ein solches Zertifikat selbst mit OpenSSL erstellen, müssen dann aber das Zertifikat der Zertifizierungsstelle zu den vertrauenswürdigen Zertifikaten der E-Mail-Software des Empfängers hinzufügen. Die einfachste Lösung ist es, ein Zertifikat von einer weltweit anerkannten Zertifizierungsstelle zu beziehen. Einige stellen solche Zertifikate sogar kostenlos aus (zum Beispiel Actalis).
Für diesen Beitrag sind derzeit keine Kommentare verfügbar.