/* $Id: FirmasatSign.java $ */ import net.cryptosys.firmasat.*; public final class FirmasatSign { public static void main(String[] args) { int n; String s; String fname, newname; String certfile, keyfile, password; System.out.println("\nSIGN AN XML FILE:"); fname = "ejemplo_v32-base2012.xml"; // REQUIRED INPUT FILE IN CWD newname = "ejemplo_v32-new_signed.xml"; keyfile = "emisor.key"; password = "12345678a"; /* CAUTION: DO NOT HARD-CODE REAL PASSWORDS! */ certfile = "emisor.cer"; n = Sat.signXml(newname, fname, keyfile, password, certfile); System.out.println("Sat.signXml('"+fname+"'-->'"+newname+"') returns "+n); assert n == 0 : "Sat.signXml failed"; // Did we make a valid XML file? n = Sat.validateXml(newname); System.out.println("Sat.validateXml('"+newname+"') returns "+n); assert n == 0 : "Sat.validateXml failed"; System.out.println("\nVERIFY A SIGNATURE IN AN XML FILE:"); fname = newname; n = Sat.verifySignature(fname); System.out.println("Sat.verifySignature('"+fname+"') returns "+n); assert n == 0 : "Sat.verifySignature failed"; System.out.println("\nFORM THE PIPESTRING FROM AN XML FILE:"); fname ="ejemplo_v32-base2012.xml"; s = Sat.makePipeStringFromXml(fname); System.out.println("Sat.makePipeStringFromXml('"+fname+"')=\n" + s); assert s.length() > 0 : "Sat.makePipeStringFromXml failed"; System.out.println("\nFORM THE DIGEST OF THE PIPESTRING IN AN XML FILE:"); s = Sat.makeDigestFromXml(fname); System.out.println("Sat.makeDigestFromXml('"+ fname+"')=\n"+ s); assert s.length() > 0 : "Sat.makeDigestFromXml failed"; } }