Die Angelegenheit
Dies ist ein bekanntes Problem bei Microsoft Outlook 2010, es wird jedoch ein Fix bereitgestellt. Möglicherweise möchten Sie den Absender darüber informieren, dass er es anwenden soll.
X.509-Zertifikate weisen mehrere Attribute auf, von denen einige zur Identifizierung von Zertifikaten verwendet werden können. Eine solche Möglichkeit besteht darin, die Seriennummer zusammen mit dem Zertifikataussteller zu verwenden (zusammen müssen sie eine eindeutige Kennung bilden). Bei S / MIME-verschlüsselten Nachrichten wird dies aufgerufen issuerAndSerialNumber
. Eine Alternative ist die auch standardisierte subjectKeyIdentifier
, die in irgendeiner Form "aus dem öffentlichen Schlüssel" abgeleitet werden soll, aber nicht spezifisch definiert wird.
Outlook 2010 (vor SP1) verwendet die Option subjectKeyIdentifier
und erstellt eine, wenn keine solche Kennung angegeben wird (aus dem oben verlinkten Knowledge Base-Artikel, von mir hinzugefügte Hervorhebung):
Die Cryptographic Message Syntax (CMS) ist in RFC 5652 dokumentiert. Diese Spezifikation ermöglicht die Verwendung des subjectKeyIdentifier oder issuerAndSerialNumber als SignerIdentifier. Die Release (RTM) -Version von Outlook 2010 verwendet subjectKeyIdentifier als SignerIdentifier, während frühere Versionen issuerAndSerialNumber verwenden. Wenn die Erweiterung subjectKeyIdentifier nicht im Zertifikat definiert ist, generiert Outlook 2010 RTM eine Erweiterung. Einige E-Mail-Clients oder Betriebssysteme von Drittanbietern können den von Outlook generierten subjectKeyIdentifier nicht verwenden. Dies führt dazu, dass der Empfänger die Nachricht nicht entschlüsseln und lesen kann.
Mit anderen Worten verwendet Microsoft Outlook 2010 vor SP1 eine Zertifikats-ID, die von keiner anderen E-Mail-Anwendung wahrscheinlich verstanden wird. Es ist mir tatsächlich nicht gelungen, eine aktuelle Version von Outlook zum Entschlüsseln einer solchen Nachricht zu verwenden!
So entschlüsseln Sie die Nachricht trotzdem
Dies wird nicht einfach sein und bedeutet, dass Sie zur Befehlszeile wechseln. Dies sollte auf fast allen Betriebssystemen (Linux, Windows, Mac OS, BSD) funktionieren. Stellen Sie sicher, dass OpenSSL installiert ist. Mit OpenSSL können wir die Entschlüsselung mithilfe eines bestimmten Schlüssels erzwingen und den fehlerhaften Schlüssel ignorieren subjectKeyIdentifier
.
- Speichern Sie die Nachricht in einem Ordner (Thunderbird speichert sie als
.eml
Datei). Ich habe esmail.eml
in allen weiteren Schritten benannt. - Exportieren Sie den privaten Schlüssel (öffnen Sie die Einstellungen, Erweitert, Zertifikate, Zertifikate anzeigen, wählen Sie das entsprechende Zertifikat aus, Sichern, wählen Sie denselben Ordner aus, der für die Nachricht verwendet wird). Thunderbird fragt nach einer Passphrase. Sie sollten jetzt eine andere Datei mit der
.p12
Erweiterung haben. Ich habe es benanntcertificate.p12
. - Öffnen Sie ein Terminal. Alle weiteren Schritte werden in der Befehlszeile ausgeführt.
- Navigieren Sie mit dem
cd
Befehl zu dem Ordner . - Zum Entschlüsseln der Nachricht benötigen wir den privaten Schlüssel im PEM-Format. Um den Schlüssel zu konvertieren, führen Sie
openssl pkcs12 -in certificate.p12
-out privatekey.pem -nodes` aus. Sie werden nach der Passphrase gefragt, die Sie in Thunderbird eingegeben haben. Verwenden Sie nun den exportierten Schlüssel, um die Nachricht tatsächlich zu entschlüsseln:
openssl cms -decrypt -in mail.eml -inkey privatekey.pem -out decrypted.txt
Die entschlüsselte Nachricht wird in der
decrypted.txt
Datei gespeichert .
Die Nachricht wird wahrscheinlich als verschlüsselt quoted-printable
. Wenn Sie auf merkwürdige Zeichenfolgen stoßen, in denen Gr=FC=DFe
ein Header Content-Transfer-Encoding: quoted-printable
enthalten ist, konvertieren Sie die Nachricht in Klartext (Sie benötigen Perl, wahrscheinlich auf Version 5 beschränkt, und das MIME::QuotedPrint
Modul):
perl -MMIME::QuotedPrint -pe '$_=MIME::QuotedPrint::decode($_);' <decrypted.txt >decoded.txt
Die decoded.txt
Datei enthält schließlich die entschlüsselte Nachricht. Wenn die Kodierung von Sonderzeichen immer noch falsch erscheint, verwenden Sie die Konvertierungswerkzeuge Ihrer Wahl oder versuchen Sie einfach, die Datei in Firefox oder einem anderen Browser zu öffnen. In der Regel sind sie eine gute Arbeit beim Korrigieren der fehlerhaften Kodierung.
Wenn Sie eine neue, unverschlüsselte .eml
Nachricht zusammenstellen, müssen Sie alle Content-*
Header entfernen und die Content-*
Header aus der entschlüsselten Nachricht an dieser Stelle verschieben. Weitere Details sind in diesem Tutorial nicht enthalten. Es gibt zu viele verschiedene Kodierungen, um eine angemessene Unterstützung zu bieten.