Pregunta

estoy desarrollando una aplicación para las escuelas de Sudáfrica, que está obligado a presentar los datos en formato XML para la Agencia Estatal de TI para el tratamiento estadístico. Actualmente estoy generando los archivos XML utilizando la clase DOMDocument de PHP.

Mis archivos han pasado por un proceso de verificación primera etapa. La etapa siguiente consiste en implementar el cifrado y la compresión de los archivos XML. La compresión GZip es un simple, así que no hay preocupaciones.

El documento de especificación indica que tanto cifrado RSA se utiliza (I será emitido claves RSA para poner en práctica en el software), así como alguna forma de cifrado simétrico como Triple DES (aunque esto es un "ejemplo" y cualquiera de las algoritmos en http://www.w3.org/TR/xmldsig-core pueden implementarse). Si entiendo esto correctamente, el cifrado RSA es para codificar una clave simétrica que se utiliza para el cifrado real de los campos.

El documento de especificación también dice "Cifrado de un archivo XML se puede realizar ya sea en todo el archivo o en ciertos elementos." No estoy muy seguro de que es más fácil, en esta etapa y así respuestas a cualquiera de los dos será suficiente!

El requisito es, supongo, para cifrar el contenido de las etiquetas XML y no los nombres (como en http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character).

Me disculpo si esto parece vago. En la actualidad es toda la información que tengo y los contactos de la Agencia están dispuestos a decir que los ejemplos de código (Visual Basic .NET) deben explicar todo ... Si desea examinar este ejemplo de código, que son bienvenidos a echar un vistazo a el documento de Word en el siguiente archivo ZIP, desde alrededor de la página 213 en adelante. http: //www.sita. co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip

Si alguien puede ayudar o me punto en la dirección correcta, lo agradecería.

¿Fue útil?

Solución

Sólo debe cifrar el archivo XML usando XMLSec cifrado. La siguiente biblioteca debe manejar todos los detalles para usted,

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

Otros consejos

openssl_encrypt para el cifrado simétrico y openssl_public_encrypt / openssl_private_decrypt para el cifrado asimétrico.

Parece que usted puede cifrar o bien todo el documento o sólo el contenido de ciertas etiquetas "sensibles". Cifrar todo el documento sería probablemente la forma más fácil de seguir.

En cuanto a lo RSA / 3DES - que son casi con toda seguridad la derecha. Se podría cifrar el documento con 3DES, entonces cifrar su clave 3DES con su clave pública RSA.

Por lo tanto, parece que lo que hay que hacer es generar el documento, la cremallera, a continuación, cifra los resultados con cremallera con 3DES.

arquitectura-key-plus-PK-cifrado encriptado simétrico-documento El es esencialmente PGP. Would OpenPGP sea aceptable para su cliente?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top