ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Validar firma java


Enviado por   •  5 de Abril de 2016  •  Tutorial  •  722 Palabras (3 Páginas)  •  239 Visitas

Página 1 de 3

import java.io.*; /* Se importa el paquete de java.io porque contiene los m�todos de la entrada de archivos de datos a firmar */

import java.security.*; /* Se importa todo el paquete de java.security porque los m�todos para firmar archivos se encuentran dentro de este paquete */

import java.security.spec.*; /* Se importa el paquete java.security.spec, que contiene la clase X509 EncodedKeySpec. */

class ValFirma {

public static void main(String[] args) {

/* Valida una firma creada por el algoritmo Digital Signature Algorithm DSA */

if (args.length != 3) {

System.out.println("Debes cargar los archivos de: -clavepublica- firmadigital -y el documento original con extension");

}

else try{

/* Se carga el archivo codificado de la clave publica */

FileInputStream keyfis = new FileInputStream(args[0]);

byte[] encKey = new byte[keyfis.available()];

keyfis.read(encKey);

keyfis.close();

/* Se decodifca la clave publica utilizando el est�ndar X.509, asumiendo que ha generado con el constructor key-pair generator */

X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey);

KeyFactory keyFactory = KeyFactory.getInstance("DSA", "SUN");

PublicKey pubKey = keyFactory.generatePublic(pubKeySpec);

/* Se cargan los bytes de la firmadigital */

FileInputStream sigfis = new FileInputStream(args[1]);

byte[] sigToVerify = new byte[sigfis.available()];

sigfis.read(sigToVerify );

sigfis.close();

/* Se inicializa el objeto Signature para la validaci�n con la clave publica */

Signature sig = Signature.getInstance("SHA1withDSA", "SUN");

sig.initVerify(pubKey);

/* Se proporcionan al objeto Signature los datos a ser validados */

FileInputStream datafis = new FileInputStream(args[2]);

BufferedInputStream bufin = new BufferedInputStream(datafis);

byte[] buffer = new byte[1024];

int len;

while (bufin.available() != 0) {

len = bufin.read(buffer);

sig.update(buffer, 0, len);

};

bufin.close();

boolean verifies = sig.verify(sigToVerify);

/* Si la validaci�n es verdadera se

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (76 Kb) docx (10 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com