Domanda

sto sviluppando un'applicazione per le scuole in Sud Africa, che è tenuto a presentare i dati in formato XML per l'agenzia IT Stato per l'elaborazione statistica. Attualmente sto generare il file XML utilizzando la classe DOMDocument di PHP.

I miei file sono passati attraverso una prima fase di processo di verifica. La fase successiva è quella di implementare la crittografia e la compressione dei file XML. La compressione è un semplice GZip quindi non ci preoccupa.

Il documento specifica indica che sia RSA crittografia consente (I sono emesse chiavi RSA per implementare nel software), così come una forma di cifratura simmetrica come Triple DES (anche se questo è un "esempio" con una delle caratteristiche algoritmi a http://www.w3.org/TR/xmldsig-core possono essere implementati). Se ho capito bene, la crittografia RSA è quello di codificare una chiave simmetrica che viene utilizzato per la crittografia effettiva dei campi.

Il documento di specifica dice anche "Crittografia di un file XML può essere effettuata sia su tutto il file o su alcuni elementi." Io non sono abbastanza sicuro che è più facile, in questa fase e così risposte a entrambi sarà sufficiente!

Il requisito è, presumo, per crittografare il contenuto dei tag XML e non i nomi (come in http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character).

Mi scuso se questo sembra vago. Attualmente è tutte le informazioni che ho e contatti presso l'Agenzia sono felice di dire che gli esempi di codice (VisualBasic NET) dovrebbero spiegare tutto ... Se si vuole esaminare questo esempio di codice, siete invitati a dare un'occhiata a il documento di Word nel seguente file ZIP, da circa pagina 213 in poi. http: //www.sita. co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip

Se qualcuno può aiutare o mi punto nella giusta direzione, lo apprezzerei.

È stato utile?

Soluzione

Si dovrebbe solo crittografare il file XML utilizzando XMLSec Encryption. Il seguente biblioteca dovrebbe gestire tutti i dettagli per voi,

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

Altri suggerimenti

openssl_encrypt per la crittografia simmetrica e openssl_public_encrypt / openssl_private_decrypt per la crittografia asimmetrica.

Suoni come è possibile cifrare l'intero documento o solo il contenuto di alcuni tag "sensibili". Crittografia l'intero documento sarebbe probabilmente il modo più semplice per andare.

Per quanto riguarda la cosa RSA / 3DES - si sono quasi certamente ragione. Si potrebbe cifrare il documento con 3DES, quindi crittografare la chiave 3DES con la loro chiave pubblica RSA.

Quindi, sembra che quello che dovete fare è solo generare il documento, zip, quindi cifrare i risultati con zip e 3DES.

architettura-chiave simmetrica crittografata-documento plus-PK-crittografata è essenzialmente PGP. Sarebbe OpenPGP essere accettabile per il vostro cliente?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top