Kann ich mein eigenes S / MIME-Zertifikat für die E-Mail-Verschlüsselung erstellen? [geschlossen]

19

Ich habe hier ein kleines Problem. Denken Sie daran, dass dies der Fall sein kann, "nicht die richtige Frage zu stellen".

Hintergrund: Verwenden von Apple Mail. Möchten Sie E-Mails verschlüsseln / entschlüsseln, aber GPGMail (und anscheinend PGP) wird von Snow Leopard nicht unterstützt.

Grundsätzlich muss ich ein S / MIME-Zertifikat für die E-Mail-Verschlüsselung erstellen. Ich möchte keine Zertifizierungsstelle und kümmere mich auch nicht darum. Ich möchte einfach ein schnelles und schmutziges Zertifikat. Ist dies überhaupt möglich (mit OPENSSL usw.) oder hängt der gesamte Prozess von einer höheren Autorität ab, die mich zwingt, entweder eine vollständige Zertifizierungsstelle einzurichten oder für ein Zertifikat mit einem Unternehmen (z. B. Verisign, Thawte) zusammenzuarbeiten? Meine Kriterien sind sofortige Befriedigung und kostenlos.

Beste.

demütiger_coder
quelle
1
Beachten Sie, dass Ihr Zertifikat in S / MIME für zwei Zwecke verwendet wird. Zum Signieren Ihrer E-Mails und zum Entschlüsseln von E-Mails, die Ihnen von einer anderen Person gesendet wurden . Um E-Mails an andere Personen zu verschlüsseln, benötigen Sie deren Zertifikat. In der Regel werden E-Mail-Clients standardmäßig so eingerichtet, dass sie einem bestimmten Satz von Zertifizierungsstellen vertrauen. Wenn Zertifikate nicht von diesen signiert sind, erhalten Sie mindestens eine unangenehme Nachricht und möglicherweise sogar ein nicht funktionierendes System.
James Reinstate Monica Polk
1
Ich weiß, dass dies eine ältere Frage ist, aber zum späteren Nachschlagen funktioniert das GPGMail-Plugin jetzt auf Snow Leopard. Gpgtools.org/installer/index.html
Jason Whitehorn
Ich weiß, dass dies ein älterer Kommentar ist - aber GPGMail ist nicht mehr kostenlos für OSX.
Nycynik

Antworten:

23

Ja, es ist schade, dass Apple Mail GPG nicht unterstützt. :-( Ich wünschte, es wäre so, weil ich auch GPG-verschlüsselte E-Mails bevorzuge.

Ich bin auch damit einverstanden, dass Informationen zu S / MIME und zur Erstellung eigener E-Mail-Zertifikate nur schwer erhältlich sind. Ich habe festgestellt, dass die Webseite von Paul Bramscher eine gute Beschreibung zum Erstellen eines eigenen Certificate Authority-Zertifikats enthält.

Ich gebe nicht vor, den Zertifikatsprozess vollständig zu verstehen, aber das ist es, was ich zusammensetzen konnte. Auf der Hilfeseite openssl finden Sie ausführlichere Informationen zu den unten aufgeführten Befehlen.

Erstellen Sie eine Zertifizierungsstelle

Der erste Schritt besteht darin, eine eigene Zertifizierungsstelle (CA) zu erstellen. Die Befehle sind ...

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

und folgen Sie den Anweisungen.

Sie müssen das Zertifikat Ihrer Zertifizierungsstelle (dh den Inhalt von ca.crt ) für jeden Empfänger Ihrer verschlüsselten E-Mail ausstellen . Die Empfänger müssen Ihr CA-Zertifikat installieren und diesem vertrauen, damit Ihre verschlüsselte E-Mail vertrauenswürdig ist. Die Installation variiert für jeden verwendeten Mail-Client.

In Ihrem Fall müssen Sie das Zertifikat Ihrer Zertifizierungsstelle zu Ihrem Apple-Schlüsselbund hinzufügen. Im Internet gibt es zahlreiche Beiträge zum Importieren und Vertrauen eines CA-Zertifikats in den Apple-Schlüsselbund.

Persönliche E-Mail-Zertifikatanforderung erstellen

Sie müssen jetzt eine Zertifikatsanforderung erstellen. Erstellen Sie eine für jede E-Mail-Adresse, von der Sie eine E-Mail senden möchten. Führen Sie die folgenden Befehle aus…

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

und folgen Sie den Anweisungen.

Die Zertifizierungsstelle signiert Ihre Zertifikatsanforderung

Ihr persönliches Zertifikat muss von Ihrer Zertifizierungsstelle signiert sein. In diesem Fall Sie!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

Die Ausgabe ist Ihr signiertes Zertifikat.

Bereiten Sie Ihr Zertifikat für den Import in Ihre E-Mail-Anwendung vor

Sie müssen Ihr Zertifikat von .crt(PEM-Format, glaube ich) in .p12(PCKS12-Format) konvertieren.

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Sie können jetzt Ihr *.p12*formatiertes Zertifikat in Ihren Mail-Client importieren . Importieren Sie in Ihrem Fall die *.p12*Datei in den Apple-Schlüsselbund. Sobald das Zertifikat korrekt installiert ist, verwendet Apple Mail Ihr Zertifikat.

Es gibt einen einfacheren Weg

Natürlich können Sie Zertifikate, die von Ihrer eigenen Zertifizierungsstelle erstellt wurden, einfacher verwalten, nachdem Sie Ihre eigene Zertifizierungsstelle erstellt haben. openssl kommt mit einem Skript namens ...

# /usr/lib/ssl/misc/CA.pl

Dies vereinfacht den Prozess, Ihre eigene Zertifizierungsstelle zu sein. Es gibt sogar eine Manpage für CA.pl!

Verurteilen
quelle
Unterzeichnet die Zertifizierungsstelle Ihre Zertifikatsanforderung. Das Argument "-CAKey" muss "-CAkey" mit einem Kleinbuchstaben "k" sein - zumindest für meine Version Open SSL 1.0.0a 1. Juni 2010
KevM
2
Ich habe -CAKey in -CAkey geändert. Dies ist eine wirklich ausgezeichnete Antwort, aber der Nebenkommentar zu GPG ist nicht gerechtfertigt. S / MIME hat viele Vorteile gegenüber GPG. Neben der umfassenderen Unterstützung wird das Zertifikat mit jeder signierten Nachricht mitgeliefert, wodurch ein integrierter Mechanismus für die Zertifikatverteilung bereitgestellt wird.
vy32
Vergessen Sie nicht, einige Einschränkungen für das Zertifikat
festzulegen
8

Kostenlos und von einer Zertifizierungsstelle signiert: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Andrew McGregor
quelle
1
Commodo verwendet das <keygen> -Tag, damit Ihr Browser eine CSR erstellt, ohne den privaten Schlüssel freizugeben. In den meisten modernen Browsern (zB Chrome 49+) funktioniert das nicht.
mhvelplund
Zitat von der Seite: „ Verwenden Sie Mozilla® Firefox® oder Microsoft® Internet Explorer® 8+, um Ihr Zertifikat zu sammeln. E-Mail-Zertifikate können nicht mit Google® Chrome® oder Microsoft Edge gesammelt werden. ”. Dies entspricht der Kompatibilitätstabelle von MDN .
Franklin Yu
funktioniert mit Safari.
Nycynik
1

Wie andere gesagt haben, ist die Antwort offensichtlich ja. Sie können es über openssl generieren oder Sie können einen der Anbieter verwenden, der ein kostenloses x509-E-Mail-Zertifikat bereitstellt.

Davon abgesehen ist die wichtigste Frage: Was verwenden die Personen, mit denen Sie E-Mails austauschen? Ich bin in der Community für Freie Software aktiv, daher verwenden die meisten Leute, mit denen ich E-Mails austausche, GPG. Die einzigen, von denen ich weiß, dass sie S / MIME verwenden, tun dies in ihrer geschäftlichen E-Mail aus Gründen der Unternehmenspolitik.

Wenn die Personen, die Sie per E-Mail senden, S / MIME nicht verwenden, können Sie keine Verschlüsselung für sie durchführen und signierte E-Mails können nicht überprüft werden.

David
quelle