Freigeben über


Mit einem Umschlag versehene und signierte CMS/PKCS #7-Nachricht

CMS/PKCS #7 stellt die Möglichkeit zum gleichzeitigen Signieren und Versehen von Nachrichten mit einem digitalen Umschlag bereit. Dies ist möglich, weil geschützte Nachrichten geschachtelt werden können. Das digitale Signieren und Versehen einer Nachricht mit einem digitalen Umschlag schützt diese durch die Anwendung aller Sicherheitsdienste, die gesondert in den Themen SignedCms-Nachricht und EnvelopedCms-Nachricht beschrieben werden.

E-Mail, die den S/MIME-Sicherheitsstandard verwendet, ist ein Beispiel für eine Anwendung, bei der das gleichzeitige Signieren und Versehen einer Nachricht mit einem Umschlag hilfreich ist. S/MIME bietet die Möglichkeit, eine E-Mail-Nachricht sowohl zu signieren als auch zu verschlüsseln. Wenn Ihre Anwendung eine hohe Wahrscheinlichkeit für sowohl Datenauthentizität als auch Datenvertraulichkeit benötigt, verwenden Sie eine Kombination aus digitaler Signierung und digitalem Umschlag.

Obgleich diese Sicherheitsdienste in beliebiger Reihenfolge angewendet werden können, kann es von Vorteil sein, eine Nachricht zuerst zu signieren und dann mit einem Umschlag zu versehen. In diesem Fall sind die Daten, die signiert wurden, nicht interpretierbar, weil sie noch nicht verschlüsselt waren.

Signieren und versehen Sie eine Nachricht mit einem Umschlag, indem Sie eine Kombination der Klassen SignedCms und EnvelopedCms verwenden. Angenommen, die Anforderungen einer Anwendung schreiben beispielsweise vor, dass eine Nachricht zuerst signiert und dann mit einem Umschlag versehen wird. Signieren Sie die Nachricht mithilfe der SignedCms-Klasse, wie im Thema SignedCms-Nachricht behandelt. Codieren Sie die SignedCms-Nachricht durch Aufruf der System.Security.Cryptography.Pkcs.SignedCms.Encode-Methode. Auf diese Weise erhalten Sie die Codierung in Form eines Bytearrays. Verwenden Sie nun diesen Bytearray als Eingabe für die Konstruktion eines ContentInfo-Objekts. Konstruieren Sie mit dem ContentInfo-Objekt als Eingabe ein EnvelopedCms-Objekt.

In das EnvelopedCms-Objekt ist nun das SignedCms-Objekt geschachtelt, das den inneren Inhalt bildet. Versehen Sie jetzt die Nachricht mit einem Umschlag, wie unter EnvelopedCms-Nachricht beschrieben.

Ein Codebeispiel, in dem eine Nachricht signiert und mit einem Umschlag versehen wird, finden Sie im Thema Verfahrensweise: Signieren und Versehen einer Nachricht mit einem Umschlag.

Siehe auch

Konzepte

Verfahrensweise: Signieren und Versehen einer Nachricht mit einem Umschlag
Typen von CMS/PKCS #7-Nachrichten

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.