Question

Je développe une application pour les écoles en Afrique du Sud qui est nécessaire pour soumettre des données au format XML à l'Agence IT Etat pour le traitement statistique. Je génère actuellement les fichiers XML à l'aide de la classe DOMDocument de PHP.

Mes fichiers sont passés par un premier processus de vérification de la scène. La prochaine étape consiste à mettre en œuvre le cryptage et la compression des fichiers XML. La compression est un simple GZip donc pas de problème.

Le document de spécification indique que le chiffrement RSA est utilisé (je vais émis les clés RSA pour mettre en œuvre dans le logiciel), ainsi que d'une forme de chiffrement symétrique tels que Triple DES (bien que ce soit un « exemple » et l'un des algorithmes à http://www.w3.org/TR/xmldsig-core peuvent être mis en œuvre). Si je comprends bien, le chiffrement RSA est de coder une clé symétrique qui est utilisée pour le chiffrement réel des champs.

Le document de spécification dit aussi « Le chiffrement d'un fichier XML peut être effectué soit sur le fichier entier ou sur certains éléments. » Je ne suis pas tout à fait sûr qui est plus facile, à ce stade et donc des réponses à ou l'autre suffit!

L'exigence est, je suppose, pour chiffrer le contenu des balises XML et non les noms (comme dans http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character).

Je suis désolé si cela semble vague. Il est actuellement toutes les informations dont je dispose et les contacts à l'Agence sont heureux de dire que les exemples de code devraient (Visual Basic .NET) tout expliquer ... Si vous voulez examiner cet exemple de code, nous vous invitons à jeter un oeil à le document Word dans le fichier ZIP suivant, à partir de la page 213 à propos de partir. http: //www.sita. co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip

Si quelqu'un peut aider ou me diriger dans la bonne direction, je vous en serais reconnaissant.

Était-ce utile?

La solution

Vous devez juste chiffrer le fichier XML à l'aide xmlsec chiffrement. La bibliothèque suivante doit gérer tous les détails pour vous,

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

Autres conseils

Voir openssl_encrypt pour le chiffrement symétrique et openssl_public_encrypt / openssl_private_decrypt pour le chiffrement asymétrique.

Sons comme vous pouvez soit chiffrer le document entier ou seulement le contenu de certaines balises « sensibles ». Chiffrement le document entier serait probablement la meilleure façon d'aller.

En ce qui concerne la chose RSA / 3DES - vous êtes certainement raison. Vous chiffrer le document avec 3DES, puis chiffrer votre clé 3DES avec leur clé publique RSA.

Alors, semble comme ce que vous devez faire est de générer tout le document, zip, puis cryptez les résultats zippé avec 3DES.

L'architecture Symmetric-clé crypté document-plus-PK crypté est essentiellement PGP. Would OpenPGP acceptable pour votre client?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top