-
Notifications
You must be signed in to change notification settings - Fork 0
/
SellarAlbergue.java
78 lines (58 loc) · 2.48 KB
/
SellarAlbergue.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
* @author Samuel Ramilo Conde
* @author Esteban Puentes Silveira
* @code https://github.com/VirtualEvan/SSI_Cryptography
*/
public class SellarAlbergue {
private Map<String, String> datos_albergue = new HashMap<String, String>();
public static void mensajeAyuda() {
System.out.println("Sellador de albergue");
System.out.println("\tSintaxis: java GenerarClaves [nombre paquete] [identificador albergue] [clave publica peregrino] [clave privada albergue]");
System.out.println();
}
public static void main(String[] args) {
if (args.length != 4) {
mensajeAyuda();
System.exit(1);
}
System.out.println();
System.out.println( args[1].toUpperCase()+ " *************************************************");
SellarAlbergue albergue = new SellarAlbergue();
try {
//Pruebas sin scanner
albergue.datos_albergue = JSONUtils.json2map( Utils.leerJSON( args[1] ) );
/*
Scanner in = new Scanner(System.in);
System.out.print("Numero : ");
String numero = in.nextLine();
albergue.datos_albergue.put("numero", numero);
System.out.print("Nombre : ");
String nombre = in.nextLine();
albergue.datos_albergue.put("nombre", nombre);
System.out.print("Lugar : ");
String lugar = in.nextLine();
albergue.datos_albergue.put("lugar", lugar);
System.out.print("Fecha : ");
String fecha = in.nextLine();
albergue.datos_albergue.put("fecha", fecha);
in.close();
*/
Paquete compostelaVirtual = PaqueteDAO.leerPaquete( args[0] + ".paquete" );
byte[] firmaPeregrinoEncriptada = compostelaVirtual.getContenidoBloque( "Firma Digital" );
byte[] firmaPeregrinoDesencriptada = Utils.desencriptarConPublica( firmaPeregrinoEncriptada, args[2] );
String json = JSONUtils.map2json( albergue.datos_albergue );
System.out.println("Datos del albergue: " + json);
byte[] firmaAlbergue = Utils.generarFirma( json, firmaPeregrinoDesencriptada );
byte[] firmaAlbergueEncriptada = Utils.encriptarConPrivada( firmaAlbergue, args[3] );
compostelaVirtual.anadirBloque( new Bloque( args[1]+ "_Datos", json.getBytes() ) );
compostelaVirtual.anadirBloque( new Bloque( args[1]+ "_Firma", firmaAlbergueEncriptada ) );
PaqueteDAO.escribirPaquete( "compostela.paquete", compostelaVirtual );
}
catch(Exception e) {
System.out.println("Error al generar la firma del albergue");
}
}
}