## Verificar una Firma Digital

Si tenemos datos para los que se generó una firma digital, podemos verificar la autenticidad de la firma. Para hacerlo necestiamos:

- los datos

- la firma

- la clave pública correspondiente a la clave privada usada para firmar los datos

En este ejemplo escribiremos un programa VerSig para verificar la firma generada por el programa GenSig. Esto demuestra los pasos requeridos para verificar la autenticidad de una firma.

VerSig importa una clave pública y una firma que se sabe que es la firma de un fichero de datos específico y luego verifica la autenticidad de la firma. Los nombres de los ficheros de la clave pública, la firma y los datos se especifican en la línea de comandos.

Los pasos para crear el programa de ejemplo VerSig para importar los ficheros y verificar la firma son los siguientes:

> 1. Preparar la Estructura Inicial del Programa

>    Crea un fichero de texto llamado VerSig.java. Tecleamos en él la estructura inicial del programa (las sentencias import, el nombre de la clase, el método main, etc.).

> 2. Introducir y Convertir los Bytes Codificados de la Clave Pública

>    Importa los bytes codificados de la clave pública desde el fichero especificado como el primer argumento de la línea de comandos y los convierte a un PublicKey.

> 3. Introducir los Bytes de la Firma

>    Introduce los bytes de la firma desde el fichero especificado como el segundo argumento de la línea de comandos.

> 4. Verificar la Firma

>    Obtiene un objeto Signature y lo inicializa con la clave púlica para verificar la firma. Suministrándole los datos cuya firma va ser verificada (desde el fichero especificado como tercer argumento de la línea de comandos), y verifica la firma>.

> 5. Compilar y Ejecutar el PRograma

Ozito