Grabar la Firma y la Clave Pública en Ficheros

Ahora que ya hemos generado la firma para unos datos, necesitamos grabar los bytes de la firma en un fichero y la clave pública en otro para que los podamos enviar (mediante modem, diskette, mail, etc.) a cualquier otra persona: El receptor puede verificar que los datos vienen de nosotros y que no fueron modificados durante el tránsito ejecutando el programa VerSig que generaremos más adelant en Verificar una Firma Digital. El programa usa la clave pública para verificar que la firma recibida es la firma verdadera para los datos recibidos.

Recuerda que la firma fue situaada en un array de bytes llamado realSig. Podemos grabar los bytes de la firma en un fichero llamado sig con esto:.

        /* save the signature in a file */
        FileOutputStream sigfos = new FileOutputStream("sig");
        sigfos.write(realSig);
        sigfos.close();
Recordamos de Generar las Claves Pública y Privada que la calve pública se situó en un objeto llamado pub. Podemos obtener los bytes codificados de la clave llamando al método getEncoded y luego almacenarlos en un fichero. Si, por ejemplo, tu nombre es Susan, podrías nombrarlo con algo como suepk (por "Sue's public key"), de esta forma:
        /* save the public key in a file */
        byte[] key = pub.getEncoded();
        FileOutputStream keyfos = new FileOutputStream("suepk");
        keyfos.write(key);
        keyfos.close();

Ozito