Frage

Ich entwickle eine Anwendung für Schulen in Südafrika, die benötigt wird, um Daten im XML-Format an den Staat IT-Agentur für statistische Verarbeitung einzureichen. Ich bin derzeit die XML-Dateien mit PHP DOMDocument Klasse zu erzeugen.

Meine Dateien sind durch einen ersten Stufe des Prüfungsprozess durchlaufen. Die nächste Stufe ist die Verschlüsselung und Komprimierung der XML-Dateien zu implementieren. Die Kompression ist eine einfache GZIP also keine Sorgen gibt.

Die Spezifikation Dokument zeigt, dass beide RSA-Verschlüsselung verwendet wird (ich will RSA-Schlüssel ausgestellt werden, in die Software zu implementieren) sowie einem symmetrischen Verschlüsselung wie Triple DES (obwohl dies ein „Beispiel“ und eine der Algorithmen bei http://www.w3.org/TR/xmldsig-core kann) implementiert werden. Wenn ich das richtig verstehen, die RSA-Verschlüsselung ist einen symmetrischen Schlüssel zu kodieren, die für die eigentliche Verschlüsselung der Felder verwendet wird.

Die Spezifikation Dokument sagt auch, „Verschlüsselung einer XML-Datei auf die gesamte Datei entweder durchgeführt werden kann oder auf bestimmte Elemente.“ Ich bin mir nicht ganz sicher, was einfacher ist, in diesem Stadium und so Antworten auf entweder genügen!

Die Anforderung ist, nehme ich an, den Inhalt der XML-Tags zu verschlüsseln und die Namen (wie in http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character).

Ich entschuldige mich, wenn diese vage scheint. Es ist zur Zeit alle Informationen, die ich habe und die Kontakte bei der Agentur sind glücklich, zu sagen, dass die (Visualbasic .NET) Code-Beispiele alles erklären sollte ... Wenn Sie diesen Code Probe untersuchen möchten, können Sie gerne einen Blick darauf werfen auf das Word-Dokument in der folgenden ZIP-Datei von etwa Seite 213 ff. http: //www.sita. co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip

Wenn jemand kann mich in der richtigen Richtung helfen oder zeigen, ich es schätzen würde.

War es hilfreich?

Lösung

Sie sollten nur die XML-Datei mit XMLSec Encryption verschlüsseln. Die folgende Bibliothek sollten alle Details für Sie handhaben,

http://code.google.com/p/xmlseclibs/

Andere Tipps

Siehe openssl_encrypt für die symmetrische Verschlüsselung und openssl_public_encrypt / openssl_private_decrypt für die asymmetrische Verschlüsselung.

Sounds wie Sie können entweder das gesamte Dokument verschlüsseln oder einfach nur den Inhalt bestimmter „sensibel“ Tags. das gesamte Dokument Encrypting wahrscheinlich der einfachste Weg zu gehen wäre.

Wie für die RSA / 3DES Sache - Sie haben Recht mit ziemlicher Sicherheit. Sie würden das Dokument mit 3DES verschlüsselt, dann mit ihren öffentlichen RSA-Schlüssel 3DES Schlüssel verschlüsseln.

So scheint wie das, was Sie tun müssen, ist nur das Dokument erzeugen, es zip, dann die Zip-Ergebnisse mit 3DES verschlüsselt werden.

Die Symmetric-verschlüsseltes Dokument-plus-PK-verschlüsseltes Schlüssel-Architektur ist im Wesentlichen PGP. Würde OpenPGP akzeptabel zu Ihren Kunden?

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