## Generar y Verificar Firmas

Esta lección nos muestra los pasos necesarios para usar el API de Seguridad del JDK para generar una firma digital para datos y para verificar que una firma es auténtica. Esta lección está indicada para desarrolladores que deseen incorporar funcionalidades de seguridad en sus programas, incluyendo servicios de criptografía.

Esta lección demuestra el uso del API de Seguridad del JDK con respecto a la firma de documentos. Muestra que un programa, ejecutado por un persona que tiene el documento original, podría generar claves, generar una firma digital para el documento usando la clave privada, y exportar la clave pública y la firma a ficheros.

Luego muestra un ejemplo de otro programa, ejecutado por el receptor del documento, la firma y la clave pública, Muestra cómo el programa podría importar la clave pública y verificar la autenticidad de la firma. Esta lección también explica y demuestra las posibles alternativas y métodos para suministrar e importar claves, incluidas en certificados.

Para más información sobre los conceptos y terminología (firmas digitales, certificados, keystores, etc.) puedes ver la lección API y Herramientas usadas para Código Seguro e Intercambio de Ficheros.

En esta lección crearemo dos aplicaciones bñasicas, una para generar firmas digitales y otra para su verificación. Esto va seguido de un explicación y demostración de posibles mejoras. Esta lección contiene tres lecciones.

- Generar una Firma Digital muestra el uso del API para genear claves y una firma digital para datos usando la clave pricada y para exportar la clave pública y la firma a ficheros. La aplicación obtiene el nombre del fichero de datos desde la línea de comandos.

- Verificar una Firma Digital muestra el uso del API para importar una clave pública y una firma que es la firma de un fichero de datos específico y para verificar la autenticidad de la firma. Los nombres de los ficheros de datos, de la clave pública y de la firma se especifican en la línea de comandos. .

- Debilidades y Alternartivas dexplica las debilidades potenciales de la aproximación usada por el programa básico. Luego presenta y demuetra las posibles alternativas y métodos para suministrar e importar claves, incluyendo el uso de ficheros que conteinen bytes de claves codificadas, y el uso de certificados que contienen las claves públicas.

Ozito