Erreichen

Grow

Manage

Automate

Erreichen

Grow

Manage

Automate

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

E-Mail

1 min read

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

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 Demonstrationswerkzeuge befinden sich hier auf Github, komplett mit Installationsanweisungen. Sie könnten das „Build Passing“-Logo bemerken – Travis und pytest überprüfen den Build-Status automatisch. Beachten Sie, dass diese Werkzeuge nicht offiziell von SparkPost unterstützt werden, aber ich habe versucht, sie robust und einfach zu bedienen zu machen.

Wenn Sie etwas mit Python und pip vertraut sind, sollte die Installation ziemlich 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

ausführen. 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 Absenderidentität haben, können Sie diesen Schritt überspringen. Andernfalls stehen Ihnen zwei Optionen zur Auswahl:

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

Wenn Sie nur testen, können Sie „selbstsignierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse mit dem Befehlszeilentool openssl auf Linux erstellen, indem Sie ein Verfahren wie dieses hier durchführen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie zu Ihrer Absenderidentität passt, inklusive 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 Ihnen das Signieren ermöglichen, gibt es hier eine Liste von Anbietern. Ich habe festgestellt, dass Comodo gut funktioniert (kostenlos für die nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierungsverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail und öffnen Sie den Link unbedingt in Firefox. Gehen Sie zu Firefox-Einstellungen / Datenschutz & 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), die den privaten Schlüssel und die öffentliche Zertifizierungskette enthält.

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 nun eine .p12-Datei für Ihre Absenderidentität. Das ist ein großer Schritt nach vorne – machen Sie sich jetzt einen Kaffee!

Nun müssen wir separate öffentliche und private Schlüsseldateien wie folgt generieren – ersetzen Sie einfach Ihre eigene E-Mail-Adresse durch die Beispieladresse. (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 Passwort eingeben, das Sie zuvor angegeben haben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (auf Mac OSX und Linux ist das ein Schrägstrich /).

Wenn Sie Windows verwenden, gibt es openssl-Implementierungen wie die MINGW64, die in die Git-Befehlszeilentools eingebaut sind, aber ich habe festgestellt, dass sie oft einfach einfrieren. Es ist wahrscheinlich einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Dieselben Git-Tools für Windows enthalten einen schönen ssh-Client, den Sie verwenden können, um sich bei einem Linux-Server anzumelden, wie einer Amazon EC2-Instanz.


2.1 Eine Nachricht signieren

Im Testverzeichnis gibt es bereits eine Dummy-Schlüssel-/Zertifikats- und E-Mail-Quelldatei für alice@example.com, sodass Sie eine Ausgabe erhalten können, noch 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, sodass der nächste Schritt darin besteht, 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 Absenderidentität haben, können Sie diesen Schritt überspringen. Andernfalls stehen Ihnen zwei Optionen zur Auswahl:

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

Wenn Sie nur testen, können Sie „selbstsignierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse mit dem Befehlszeilentool openssl auf Linux erstellen, indem Sie ein Verfahren wie dieses hier durchführen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie zu Ihrer Absenderidentität passt, inklusive 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 Ihnen das Signieren ermöglichen, gibt es hier eine Liste von Anbietern. Ich habe festgestellt, dass Comodo gut funktioniert (kostenlos für die nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierungsverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail und öffnen Sie den Link unbedingt in Firefox. Gehen Sie zu Firefox-Einstellungen / Datenschutz & 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), die den privaten Schlüssel und die öffentliche Zertifizierungskette enthält.

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 nun eine .p12-Datei für Ihre Absenderidentität. Das ist ein großer Schritt nach vorne – machen Sie sich jetzt einen Kaffee!

Nun müssen wir separate öffentliche und private Schlüsseldateien wie folgt generieren – ersetzen Sie einfach Ihre eigene E-Mail-Adresse durch die Beispieladresse. (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 Passwort eingeben, das Sie zuvor angegeben haben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (auf Mac OSX und Linux ist das ein Schrägstrich /).

Wenn Sie Windows verwenden, gibt es openssl-Implementierungen wie die MINGW64, die in die Git-Befehlszeilentools eingebaut sind, aber ich habe festgestellt, dass sie oft einfach einfrieren. Es ist wahrscheinlich einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Dieselben Git-Tools für Windows enthalten einen schönen ssh-Client, den Sie verwenden können, um sich bei einem Linux-Server anzumelden, wie einer Amazon EC2-Instanz.


2.1 Eine Nachricht signieren

Im Testverzeichnis gibt es bereits eine Dummy-Schlüssel-/Zertifikats- und E-Mail-Quelldatei für alice@example.com, sodass Sie eine Ausgabe erhalten können, noch 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, sodass der nächste Schritt darin besteht, 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 Absenderidentität haben, können Sie diesen Schritt überspringen. Andernfalls stehen Ihnen zwei Optionen zur Auswahl:

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

Wenn Sie nur testen, können Sie „selbstsignierte“ Zertifikate und Schlüssel für eine E-Mail-Adresse mit dem Befehlszeilentool openssl auf Linux erstellen, indem Sie ein Verfahren wie dieses hier durchführen. Am Ende dieses Prozesses haben Sie eine smime.p12-Datei. Benennen Sie diese Datei um, damit sie zu Ihrer Absenderidentität passt, inklusive 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 Ihnen das Signieren ermöglichen, gibt es hier eine Liste von Anbietern. Ich habe festgestellt, dass Comodo gut funktioniert (kostenlos für die nicht-kommerzielle Nutzung) und es ist einfacher als das oben beschriebene Selbstsignierungsverfahren. Folgen Sie dem Anmeldeprozess, erhalten Sie Ihre Bestätigungsmail und öffnen Sie den Link unbedingt in Firefox. Gehen Sie zu Firefox-Einstellungen / Datenschutz & 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), die den privaten Schlüssel und die öffentliche Zertifizierungskette enthält.

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 nun eine .p12-Datei für Ihre Absenderidentität. Das ist ein großer Schritt nach vorne – machen Sie sich jetzt einen Kaffee!

Nun müssen wir separate öffentliche und private Schlüsseldateien wie folgt generieren – ersetzen Sie einfach Ihre eigene E-Mail-Adresse durch die Beispieladresse. (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 Passwort eingeben, das Sie zuvor angegeben haben. Beachten Sie, dass diese Backslashes \ verwendet werden, um das @-Zeichen zu escapen – nicht um die Namen eines Verzeichnispfads zu trennen (auf Mac OSX und Linux ist das ein Schrägstrich /).

Wenn Sie Windows verwenden, gibt es openssl-Implementierungen wie die MINGW64, die in die Git-Befehlszeilentools eingebaut sind, aber ich habe festgestellt, dass sie oft einfach einfrieren. Es ist wahrscheinlich einfacher und schneller, dies auf Linux zu tun und dann Ihre Dateien zu kopieren. Dieselben Git-Tools für Windows enthalten einen schönen ssh-Client, den Sie verwenden können, um sich bei einem Linux-Server anzumelden, wie einer Amazon EC2-Instanz.


2.1 Eine Nachricht signieren

Im Testverzeichnis gibt es bereits eine Dummy-Schlüssel-/Zertifikats- und E-Mail-Quelldatei für alice@example.com, sodass Sie eine Ausgabe erhalten können, noch 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, sodass der nächste Schritt darin besteht, 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 verwenden wir eine echte Absenderdomain, entsprechend dem SparkPost New User Guide eingerichtet. Wir haben die Absenderzertifikat- 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 Absenderdomain 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> Subject: 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 im Verlauf menschlicher Ereignisse es 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 geöffnet zu https://api.sparkpost.com/api/v1 Tests/declaration.eml wird gesendet 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 sie mit einem roten Punkt auf dem Umschlag an, was eine gültige Absender-Signatur anzeigt.

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

Erfolg! Beende deinen Kaffee, den hast du dir verdient. Wenn Sie Probleme haben, überprüfen Sie, ob die 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   freundlicher Name: s COMODO CA Limited ID #2   lokale Schlüssel-ID: 32 84 AB 9C 56 5C 80 C6 89 4D 40 46 DD D4 7C 71 E8 CD ED C1 Betreff=/E-Mail-Adresse=bob.lumreeker@gmail.com Aussteller=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Client Authentication and Secure Email CA -----BEGIN CERTIFICATE----- sieht hier aus wie zufällige Zeichen -----END CERTIFICATE-----

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

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

Sie werden folgendes 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 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

Lasst uns eine verschlüsselte Nachricht an eine echte E-Mail-Adresse senden. Sie können denselben Prozess wie zuvor (selbstsigniert oder ein Anbieter wie Comodo) folgen, um einen öffentlichen Schlüssel / ein 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 – passend zur 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 Sende tests/declaration.eml From: Steve <steve@thetucks.com> To: Bob <bob.lumreeker@gmail.com> OK - in 1.168 Sekunden

Die Mail erscheint in Thunderbird mit dem „roten Punkt“ Signatursymbol und dem „Schloss“ Verschlüsselungssymbol.

Thunderbird email view with signature and encryption icons

Sie können komplexe HTML-basierte E-Mails mit Links und Bildern ebenso leicht senden, wie in Teil 1 gezeigt. Einige Clients wie Thunderbird fragen um 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 die Dropdown-Schaltfläche „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 sendet. Kurze Erinnerung: Das Demo-Projekt ist in Github hier, 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, um dies zu erleichtern, genannt mimeshow.

Dieses Tool kann jede E-Mail-Datei, die Sie haben (nicht nur S/MIME-Dateien), nehmen und die interne Struktur anzeigen. 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 des sparkpostSMIME-Ausgangs zu geben:

./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…

Zusammenfassung – wir haben einige einfache Befehlszeilen-Tools zum Signieren und Verschlüsseln von E-Mails installiert (das Github-Repo ist hier, komplett mit Installationsanweisungen).

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

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

Das war's für den Moment! Bis bald!

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

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

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

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

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

R

Erreichen

G

Grow

M

Manage

A

Automate

Unternehmen

Newsletter

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

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.