Frage

Ich kämpfe mit dem folgenden Szenario:

  1. Ein XML-Message wird clientseitig erstellt und mit Mozillas Fenster digital signiert.Crypto.SignText. Nach der Unterschrift werden die Nachricht und die Signatur über einen Webservice (.NET) auf den Server übertragen. Bis zu diesem Zeitpunkt ist alles in Ordnung.

  2. Auf dem Server muss der XML in ein anderes XML-Dokument aufgenommen werden, das öffentlich zugänglich ist. Die Signatur sollte ebenfalls veröffentlicht werden, um Nicht-Repudiation zu gewähren.

F: Gibt es eine reibungslose Option zum Umwandeln der abgelösten PKCS#7 in XML-DSIG (z. B. Funktionalität im .NET-Framework)?

F2: Oder ist es möglich, die XML-DSIG bereits clientseitig zu erstellen, ohne externe Plugins zu verwenden?

TNX für Ihre Hilfe!

Alois Paulin

War es hilfreich?

Lösung

Aufgrund der Art der digitalen Signaturformate XML und PKCS#7 ist es nicht möglich, von einem zum anderen zu konvertieren.

In einer sehr vereinfachten Erklärung die Signatur in PKCS#7 Das Format enthält unter anderem eine spezifische Datenstruktur, die als DigESTInFO bezeichnet wird und die Datenverdauung und eine OID (Objektkennung) enthält und mit dem privaten Schlüssel des Benutzers verzerrt wurde. Das Xml-dsig Das Format wendet den letzten Schritt des kryptografischen Algorithmus (erneut mit dem privaten Schlüssel des Benutzers) auf einen anderen Datenwert an, der aus der Verdauung der ursprünglichen XML-Daten und einiger spezifischer XML-D-D-Daten-Datenstrukturen berechnet wurde. Da beide Verschlechterungswerte nicht gleich sind, ist es daher nur möglich, die XML-Ds-Signatur zu generieren, indem die Daten mit dem privaten Schlüssel des Benutzers unterzeichnet werden, auf den Sie keinen Zugriff haben (somit privat).

Aus dieser Erklärung lautet die Antwort auf Ihre erste Frage "Nein, es gibt keine reibungslose Option, es ist überhaupt nicht möglich".

Daher besteht die einzige Option darin, das XML-DSIG direkt auf der Client-Seite zu generieren. Das ist mit Standard -JavaScript nicht möglich, definitiv nicht mit Firefox -Fenster.Crypto (das nur abgenommene PKCS7 -Signaturen erzeugt). In meiner Firma (www.isigma.es), wir lösen diese Verwendung eines Applets in der digitalen Signaturbranche (es gibt viele kommerzielle und auch einige Open -Source -Lösungen). Dies ist in Ihrem Fall möglicherweise keine Option, wenn Sie keine Browser -Plugins wünschen.

CAPICOM (die Windows-basierte Active/X-Komponente, die Sie möglicherweise in einem Microsoft-Setup verwenden) generiert auch nicht XML-DSIG, sondern nur CMS/PKCS7.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top