100 likes | 254 Views
Java WebServices Java XML Signature API. Ing. Lennon Shimokawa Miyashiro http://lshimokawa.net lshimokawa@gmail.com. Firma digital.
E N D
Java WebServicesJava XML Signature API Ing. Lennon Shimokawa Miyashiro http://lshimokawa.net lshimokawa@gmail.com
Firma digital • La firma digital hace referencia, en la transmisión de mensajes telemáticos y en la gestión de documentos electrónicos, a un método criptográfico que asocia la identidad de una persona o de un equipo informático al mensaje o documento. • Puede asegurar la integridad del documento o mensaje. (Wikipedia)
Algoritmos • DSA: Digital Signature Algorithm • Solo para firmar • Estándar del gobierno de USA • RSA: public key cryptography • Firma y encripta • Basado en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales
Java XML Signature API • Generar y validar firmas digitales en XML • Puede ser aplicado a data de cualquier tipo, XML o binario • La firma resultante es representado en un XML • JSR-105
API • javax.xml.crypto • javax.xml.crypto.dsig • javax.xml.crypto.dsig.keyinfo • javax.xml.crypto.dsig.spec • javax.xml.crypto.dom • javax.xml.crypto.dsig.dom
Seguridad • Asegurar los datos • Integridad • Autenticación del mensaje • Autenticación del firmante
Generar firmas • Instanciar el documento a firmar • Generar la llave pública • Crear el contexto de la firma • Generar la firma digital • Guardar el documento firmado
Validar firmas • Instanciar el documento que contiene la firma • Especificar el elemento de firma a validar • Crear el contexto de validación • Unmarshaling de la firma • Validación de la firma