Product

Lösungen

Ressourcen

Company

Product

Lösungen

Ressourcen

Company

S/MIME Teil 2: Signiert, versiegelt und zugestellt über SparkPost

Vogel

31.12.2018

E-Mail

1 min read

S/MIME Teil 2: Signiert, versiegelt und zugestellt über SparkPost

Vogel

31.12.2018

E-Mail

1 min read

S/MIME Teil 2: Signiert, versiegelt und zugestellt über SparkPost

In Teil 1 hatten wir eine kurze Einführung in S/MIME, wobei wir uns das Signieren und die Verschlüsselung unserer Nachrichtenströme über eine Reihe von E-Mail-Clients angesehen haben. S/MIME-Nachrichten können signiert werden (was den Nachweis der Identität des Absenders erbringt), verschlüsselt werden (um den Nachrichteninhalt geheim zu halten) oder beides.

Diagram illustrating email security layers showing the relationship between S/MIME signing, S/MIME encryption, and TLS connections in the email delivery process from message source through email server to recipient.

In dieser Folge werden wir:

  • Einige einfache Befehlszeilentools zum Signieren und Verschlüsseln von E-Mails installieren

  • Ihren Sender-Schlüssel/Zertifikat zum Signieren erhalten

  • Eine signierte Nachricht über SparkPost senden und die empfangene Nachricht ansehen

  • Optional: Ihr Empfängerzertifikat für die Verschlüsselung erhalten

  • Eine signierte und verschlüsselte Nachricht über SparkPost senden und die empfangene Nachricht ansehen

  • Ein praktisches eigenständiges Tool „mimeshow“ ausprobieren, um sich die E-Mail-Dateiinterna anzusehen.

OK – los geht's!

1. Installiere die Tools

Die Demonstrationstools sind auf GitHub verfügbar, komplett mit Installationsanweisungen. Sie werden möglicherweise das „Build Passing“-Logo bemerken – Travis und pytest überprüfen automatisch den Build-Status. Beachten Sie, dass diese Tools nicht offiziell von SparkPost unterstützt werden, aber ich habe versucht, sie robust und benutzerfreundlich zu gestalten.

Wenn Sie etwas vertraut mit Python und pip sind, sollte die Installation recht vertraut wirken. Die Pipfile kümmert sich automatisch um die externen Abhängigkeiten für Sie. Sobald es fertig ist, können Sie überprüfen, ob alles installiert ist, indem Sie

./sparkpostSMIME.py -h

Sie sollten den freundlichen Hilfetext sehen. Als nächstes müssen wir…

2. Holen Sie sich Ihren Sender-Schlüssel / Ihr Zertifikat für die Signierung

Wenn Sie bereits eine Schlüsseldatei für Ihre Sendeidentität haben, können Sie diesen Schritt überspringen. Andernfalls haben Sie zwei Möglichkeiten zur Auswahl:

a) Selbstsignierter Testschlüssel / Zertifikat (extern nicht gültig)

Wenn Sie nur testen, können Sie mit dem Kommandozeilen-Tool openssl auf Linux „selbst signierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse erstellen, indem Sie ein Verfahren wie dieses hier befolgen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie mit Ihrer Sendeidentität übereinstimmt, einschließlich des @-Zeichens, zum Beispiel alice@example.com.p12.

oder

b) Extern gültige Schlüssel / Zertifikate

Wenn Sie extern gültige Schlüssel / Zertifikate erhalten möchten, die es Ihnen ermöglichen zu signieren, gibt es hier eine Liste von Anbietern. Ich fand, dass Comodo gut funktioniert (kostenlos für nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail, und stellen Sie sicher, dass Sie den Link in Firefox öffnen. Gehen Sie zu Firefox Einstellungen / Datenschutz und Sicherheit. Scrollen Sie zu Zertifikate / Zertifikate anzeigen:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


Wählen Sie Ihr Zertifikat aus und verwenden Sie die Option „Backup“, um es als Datei im PKCS12-Format zu speichern (fügen Sie die Dateiendung .p12 zu Ihrem Dateinamen hinzu), welche den privaten Schlüssel und die öffentliche Zertifizierungskette trägt.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


Geben Sie ein Passwort ein, um die .p12-Datei zu sichern:

Certificate backup password entry dialog with password fields and strength meter


Erstellen Sie separate öffentliche (.crt) und private (.pem) Schlüsseldateien

Ob Sie a) oder b) verwendet haben, Sie haben jetzt eine .p12-Datei für Ihre Sendeidentität. Das ist ein großer Fortschritt – gönnen Sie sich jetzt einen Kaffee!

Jetzt müssen wir separate öffentliche und private Schlüsseldateien wie folgt erstellen – indem Sie Ihre eigene E-Mail-Adresse für die Beispieldatei einfügen. (Mac OSX und Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Sie müssen das zuvor bereitgestellte Passwort eingeben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (das ist ein Vorwärtsschrägstrich / auf Mac OSX und Linux).

Wenn Sie Windows verwenden, gibt es verfügbare OpenSSL-Implementierungen wie das MINGW64, das in die Git-Kommandozeilenwerkzeuge integriert ist, aber ich habe festgestellt, dass es meist einfach einfriert. Wahrscheinlich ist es einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Diese gleichen Git-Tools für Windows bieten einen netten SSH-Client, den Sie verwenden können, um sich bei einer Linux-Box anzumelden, wie z.B. einer Amazon EC2-Instanz.


2.1 Signieren einer Nachricht

Es gibt bereits einen Dummy-Schlüssel/Zertifikat und eine E-Mail-Quelldatei im Testverzeichnis für alice@example.com, damit Sie eine Ausgabe erhalten, selbst bevor Sie Ihre eigenen Schlüssel haben. Geben Sie einfach folgendes ein:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Und Sie erhalten:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Sie können keine E-Mails von example.com über SparkPost senden, es sei denn, Sie besitzen diese Domain. Der nächste Schritt besteht darin, Ihren eigenen Schlüssel zu verwenden und eine signierte Nachricht von Ihrer eigenen Domain zu senden.

Wenn Sie bereits eine Schlüsseldatei für Ihre Sendeidentität haben, können Sie diesen Schritt überspringen. Andernfalls haben Sie zwei Möglichkeiten zur Auswahl:

a) Selbstsignierter Testschlüssel / Zertifikat (extern nicht gültig)

Wenn Sie nur testen, können Sie mit dem Kommandozeilen-Tool openssl auf Linux „selbst signierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse erstellen, indem Sie ein Verfahren wie dieses hier befolgen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie mit Ihrer Sendeidentität übereinstimmt, einschließlich des @-Zeichens, zum Beispiel alice@example.com.p12.

oder

b) Extern gültige Schlüssel / Zertifikate

Wenn Sie extern gültige Schlüssel / Zertifikate erhalten möchten, die es Ihnen ermöglichen zu signieren, gibt es hier eine Liste von Anbietern. Ich fand, dass Comodo gut funktioniert (kostenlos für nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail, und stellen Sie sicher, dass Sie den Link in Firefox öffnen. Gehen Sie zu Firefox Einstellungen / Datenschutz und Sicherheit. Scrollen Sie zu Zertifikate / Zertifikate anzeigen:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


Wählen Sie Ihr Zertifikat aus und verwenden Sie die Option „Backup“, um es als Datei im PKCS12-Format zu speichern (fügen Sie die Dateiendung .p12 zu Ihrem Dateinamen hinzu), welche den privaten Schlüssel und die öffentliche Zertifizierungskette trägt.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


Geben Sie ein Passwort ein, um die .p12-Datei zu sichern:

Certificate backup password entry dialog with password fields and strength meter


Erstellen Sie separate öffentliche (.crt) und private (.pem) Schlüsseldateien

Ob Sie a) oder b) verwendet haben, Sie haben jetzt eine .p12-Datei für Ihre Sendeidentität. Das ist ein großer Fortschritt – gönnen Sie sich jetzt einen Kaffee!

Jetzt müssen wir separate öffentliche und private Schlüsseldateien wie folgt erstellen – indem Sie Ihre eigene E-Mail-Adresse für die Beispieldatei einfügen. (Mac OSX und Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Sie müssen das zuvor bereitgestellte Passwort eingeben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (das ist ein Vorwärtsschrägstrich / auf Mac OSX und Linux).

Wenn Sie Windows verwenden, gibt es verfügbare OpenSSL-Implementierungen wie das MINGW64, das in die Git-Kommandozeilenwerkzeuge integriert ist, aber ich habe festgestellt, dass es meist einfach einfriert. Wahrscheinlich ist es einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Diese gleichen Git-Tools für Windows bieten einen netten SSH-Client, den Sie verwenden können, um sich bei einer Linux-Box anzumelden, wie z.B. einer Amazon EC2-Instanz.


2.1 Signieren einer Nachricht

Es gibt bereits einen Dummy-Schlüssel/Zertifikat und eine E-Mail-Quelldatei im Testverzeichnis für alice@example.com, damit Sie eine Ausgabe erhalten, selbst bevor Sie Ihre eigenen Schlüssel haben. Geben Sie einfach folgendes ein:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Und Sie erhalten:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Sie können keine E-Mails von example.com über SparkPost senden, es sei denn, Sie besitzen diese Domain. Der nächste Schritt besteht darin, Ihren eigenen Schlüssel zu verwenden und eine signierte Nachricht von Ihrer eigenen Domain zu senden.

Wenn Sie bereits eine Schlüsseldatei für Ihre Sendeidentität haben, können Sie diesen Schritt überspringen. Andernfalls haben Sie zwei Möglichkeiten zur Auswahl:

a) Selbstsignierter Testschlüssel / Zertifikat (extern nicht gültig)

Wenn Sie nur testen, können Sie mit dem Kommandozeilen-Tool openssl auf Linux „selbst signierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse erstellen, indem Sie ein Verfahren wie dieses hier befolgen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie mit Ihrer Sendeidentität übereinstimmt, einschließlich des @-Zeichens, zum Beispiel alice@example.com.p12.

oder

b) Extern gültige Schlüssel / Zertifikate

Wenn Sie extern gültige Schlüssel / Zertifikate erhalten möchten, die es Ihnen ermöglichen zu signieren, gibt es hier eine Liste von Anbietern. Ich fand, dass Comodo gut funktioniert (kostenlos für nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail, und stellen Sie sicher, dass Sie den Link in Firefox öffnen. Gehen Sie zu Firefox Einstellungen / Datenschutz und Sicherheit. Scrollen Sie zu Zertifikate / Zertifikate anzeigen:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


Wählen Sie Ihr Zertifikat aus und verwenden Sie die Option „Backup“, um es als Datei im PKCS12-Format zu speichern (fügen Sie die Dateiendung .p12 zu Ihrem Dateinamen hinzu), welche den privaten Schlüssel und die öffentliche Zertifizierungskette trägt.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


Geben Sie ein Passwort ein, um die .p12-Datei zu sichern:

Certificate backup password entry dialog with password fields and strength meter


Erstellen Sie separate öffentliche (.crt) und private (.pem) Schlüsseldateien

Ob Sie a) oder b) verwendet haben, Sie haben jetzt eine .p12-Datei für Ihre Sendeidentität. Das ist ein großer Fortschritt – gönnen Sie sich jetzt einen Kaffee!

Jetzt müssen wir separate öffentliche und private Schlüsseldateien wie folgt erstellen – indem Sie Ihre eigene E-Mail-Adresse für die Beispieldatei einfügen. (Mac OSX und Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Sie müssen das zuvor bereitgestellte Passwort eingeben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (das ist ein Vorwärtsschrägstrich / auf Mac OSX und Linux).

Wenn Sie Windows verwenden, gibt es verfügbare OpenSSL-Implementierungen wie das MINGW64, das in die Git-Kommandozeilenwerkzeuge integriert ist, aber ich habe festgestellt, dass es meist einfach einfriert. Wahrscheinlich ist es einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Diese gleichen Git-Tools für Windows bieten einen netten SSH-Client, den Sie verwenden können, um sich bei einer Linux-Box anzumelden, wie z.B. einer Amazon EC2-Instanz.


2.1 Signieren einer Nachricht

Es gibt bereits einen Dummy-Schlüssel/Zertifikat und eine E-Mail-Quelldatei im Testverzeichnis für alice@example.com, damit Sie eine Ausgabe erhalten, selbst bevor Sie Ihre eigenen Schlüssel haben. Geben Sie einfach folgendes ein:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Und Sie erhalten:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Sie können keine E-Mails von example.com über SparkPost senden, es sei denn, Sie besitzen diese Domain. Der nächste Schritt besteht darin, Ihren eigenen Schlüssel zu verwenden und eine signierte Nachricht von Ihrer eigenen Domain zu senden.

3. Senden Sie eine unterschriebene Nachricht über SparkPost

Nun lassen Sie uns eine echte Versanddomain verwenden, die gemäß dem SparkPost New User Guide eingerichtet ist. Wir haben die Absenderzertifikats- und Schlüsseldateien im aktuellen Verzeichnis:

steve@thetucks.com.crt steve@thetucks.com.pem

Die Datei tests/declaration.eml ist im Projekt enthalten. Es ist nur eine Textdatei, sodass Sie die From:-Adresse an Ihre eigene Versanddomain und die To:-Adresse an Ihren Testempfänger anpassen können. Der Anfang der Datei sieht so aus:

To: Bob <bob.lumreeker@gmail.com> From: Steve <steve@thetucks.com> Betreff: Hier ist unsere Erklärung MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Wenn es in der Abfolge menschlicher Ereignisse notwendig wird …

Setzen Sie Ihren API-Schlüssel:

export SPARKPOST_API_KEY=<<Put your API key here>

Senden Sie die E-Mail:

./sparkpostSMIME.py tests/declaration.eml --sign --send_api

Sie werden sehen:

Verbindung zu https://api.sparkpost.com/api/v1 geöffnet. Senden von tests/declaration.eml From: Steve <steve@thetucks.com> To: Bob  <bob.lumreeker@gmail.com> OK - in 1,15 Sekunden

Ein oder zwei Sekunden später kommt die E-Mail in Bobs Inbox an. Thunderbird zeigt es mit einem roten Punkt auf dem Umschlag an, was auf eine gültige Absendesignatur hinweist.

Thunderbird email inbox showing an email with a subject 'Here is our declaration'

Erfolg! Beenden Sie Ihren Kaffee, den haben Sie sich verdient. Wenn Sie Probleme haben, überprüfen Sie, ob Ihre From:-Adresse in der E-Mail-Datei mit dem Namen Ihrer .crt- und .pem-Dateien übereinstimmt.

4. Nachrichten verschlüsseln

Um eine Nachricht zu verschlüsseln, benötigen Sie den öffentlichen Schlüssel Ihres Empfängers in Zertifikatsform. Dies ist eine Textdatei, die so aussieht:

Bag Attributes   friendlyName: s COMODO CA Limited ID #2   localKeyID: 32 84 AB 9C 56 5C 80 C6 89 4D 40 46 DD D4 7C 71 E8 CD ED C1 subject=/emailAddress=bob.lumreeker@gmail.com issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Client Authentication and Secure Email CA -----BEGIN CERTIFICATE----- sieht hier wie zufällige Zeichen aus -----END CERTIFICATE-----

Im Tests-Verzeichnis gibt es ein Dummy-Empfängerzertifikat für bob@example.com, sodass Sie damit üben können, bevor Sie ein echtes Zertifikat haben:

cd tests ../sparkpostSMIME.py example_email1.eml --sign --encrypt

Sie werden sehen:

To: Bob <bob@example.com>
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename=smime.p7m MIIRwQYJKoZIhvcNAQcDoIIRsjCCEa4CAQAxggKlMIICoQIBADCBijCBhDELMAkG :

Sie werden bemerken, dass die Länge der Ausgabe deutlich länger ist als bei einer verschlüsselten Nachricht, da sie viele zusätzliche Informationen sowie die verschlüsselte Nachricht selbst enthält.


4.1 Senden einer verschlüsselten, signierten Nachricht über SparkPost

Lassen Sie uns eine verschlüsselte Nachricht an eine echte E-Mail-Adresse senden. Sie können denselben Prozess wie zuvor befolgen (selbstsigniert oder ein Anbieter wie Comodo), um einen öffentlichen Schlüssel/Zertifikat für Ihre eigenen Empfängeradressen zu erhalten. Sie benötigen nur die .crt-Datei – der Empfänger muss Ihnen niemals seinen privaten Schlüssel (.p12 und .pem Dateien) geben.

Ich habe die Datei bob.lumreeker@gmail.com.crt für meinen vorgesehenen Empfänger – entspricht der From:-Adresse in meiner Datei.

Hier ist der Befehl zum Senden:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt --send_api

Ich sehe:

Verbindung zu https://api.sparkpost.com/api/v1 geöffnet Senden tests/declaration.eml From: Steve <steve@thetucks.com> To: Bob <bob.lumreeker@gmail.com> OK - in 1.168 Sekunden

Die E-Mail wird in Thunderbird mit dem „roten Punkt“-Signatur-Icon und dem „Schloss“-verschlüsselten Icon angezeigt.

Thunderbird email view with signature and encryption icons

Sie können komplexe, HTML-basierte E-Mails mit Links und Bildern genauso einfach senden, wie im Teil 1 gezeigt. Einige Clients wie Thunderbird fragen nach Erlaubnis, externe Links und Bilder in verschlüsselten S/MIME-Nachrichten anzuzeigen, aber nur signierte Nachrichten werden gut in Clients wie Thunderbird und Gmail angezeigt:

Avocado marketing email with guacamole in a blue bowl and product order sectionsGmail interface showing an HTML email with guacamole image and Avocado marketing content

Beachten Sie, dass das Dropdown „Verifizierte E-Mail-Adresse“ anzeigt.

Weitere Gedanken & Dinge, die zu beachten sind

Dieses Tool verfolgt einen super einfachen Ansatz, um die benötigten Schlüssel abzurufen – es sucht einfach nach benannten Dateien im aktuellen Verzeichnis. Komplexere Anordnungen, wie z.B. das Halten aller Schlüssel in einer Datenbank, könnten leicht hinzugefügt werden, aber ich wollte, dass der Code so einfach wie möglich bleibt.

Sie können andere Empfänger mit Cc: und Bcc: einbeziehen und sie werden zugestellt; dies könnte zu Archivierungszwecken nützlich sein. Empfangene signierte Nachrichten können von anderen Empfängern zusammen mit der Signatur angezeigt werden. Das Tool entfernt die Bcc:-Kopfzeile aus der zugestellten Nachricht (wie es ein Desktop-Mail-Client tun würde).

Um sicherzustellen, dass Nachrichten unverändert durch SparkPost gehen (was die Signatur brechen könnte), setzt das Tool API-Optionen für „transaktionales“ Mailing, wobei das Öffnen und das Klick-Tracking deaktiviert sind.

Wenn Sie Verschlüsselung verwenden, beachten Sie, dass das Tool die einzelne To:-Adresse dafür aufnimmt. Die anderen Empfänger können den Nachrichteninhalt nur entschlüsseln, wenn sie den privaten Schlüssel des To:-Empfängers haben. Wenn Sie beispielsweise sekundäre Empfänger nur als Protokoll der erfolgten Zustellungen verwenden, könnte das ohnehin in Ordnung sein.

Signiert, versiegelt, geliefert... ich bin dein

Das ist unser kurzer Überblick darüber, wie man S/MIME-Nachrichten über SparkPost signiert, versiegelt und versendet. Kurze Erinnerung: Das Demo-Projekt ist auf GitHub verfügbar, und ich habe versucht, es einfach zu installieren und zu verwenden.

Bonusfunktion: Anzeigen von MIME-Teilen mit „mimeshow“

RFC822 MIME-Multipart-Dateien sind für Menschen recht komplex zu lesen. Das Projekt beinhaltet ein eigenständiges Tool namens mimeshow, um dies zu erleichtern.

Dies nimmt alle E-Mail-Dateien, die Sie haben (nicht nur S/MIME), und zeigt die interne Struktur. Hier ist ein Beispiel:

./mimeshow.py testcases/img_and_attachment.eml

Sie werden sehen:

To Bob <bob.lumreeker@gmail.com>
From Steve <steve@thetucks.com> 
Subject Testing attachments etc 
MIME-Version 1.0
Content-Type multipart/mixed; boundary="------------7D48652042860D0098C65210"
Content-Language en-GB
Content-Type multipart/alternative; boundary="------------58C0BF87598336550D70EB95" 
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Content-Transfer-Encoding quoted-printable 
Content-Type text/html; charset="utf-8"
Content-Type application/pdf; name="sparkpost-datasheet-tam-technical-account-management.pdf" 
Content-Transfer-Encoding base64
Content-Disposition attachment; filename="sparkpost-datasheet-tam-technical-account-management.pdf"

Sie können es auch als Filter verwenden, um eine menschenlesbare Zusammenfassung der sparkpostSMIME-Ausgabe bereitzustellen:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt | ./mimeshow.py


Sie werden sehen:

To Bob <bob.lumreeker@gmail.com>  
From Steve <steve@thetucks.com>
Subject Here is our declaration 
Content-Language en-GB
MIME-Version 1.0
Content-Type application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
Content-Transfer-Encoding base64
Content-Disposition attachment; filename=smime.p7m

Endlich…

Zusammengefasst – wir haben einige einfache Befehlszeilen-Tools zum Signieren und Verschlüsseln von E-Mails installiert (das GitHub-Repository enthält vollständige Installationsanweisungen).

Wir haben unseren Absender-Schlüssel/Zertifikat zum Signieren erhalten und eine signierte Nachricht über SparkPost gesendet. Wir haben ein Empfängerzertifikat zur Verschlüsselung erhalten und anschließend eine signierte und verschlüsselte Nachricht über SparkPost gesendet.

Zuletzt haben wir das praktische eigenständige Tool „mimeshow“ ausprobiert, um die E-Mail-Dateiinhalte anzusehen.

Das war's für jetzt! In unserer nächsten Ausgabe zeigen wir Ihnen, wie Sie diese S/MIME-Funktionalitäten auf lokale sichere E-Mail-Plattformen wie PowerMTA und Momentum erweitern können. Bis bald!

A person is standing at a desk while typing on a laptop.

Die vollständige AI-native Plattform, die mit Ihrem Business skaliert.

Product

Lösungen

Ressourcen

Company

Datenschutzeinstellungen

Demnächst verfügbar

Über

Preise

Partner

Careers

Legal

Terms

Datenschutzeinstellungen

Sozial

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Anmelden

A person is standing at a desk while typing on a laptop.

Die vollständige AI-native Plattform, die mit Ihrem Business skaliert.

Product

Lösungen

Ressourcen

Company

Datenschutzeinstellungen

Sozial

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Anmelden