I am creating a digital signature with itext but when I open the pdf it tells me that the file is damaged:
public void firmarPdf(String origen, String destino) {
try {
KeyStore keyStore = KeyStore.getInstance("JKS");
String pass = "456123789"; //PASSWORD DE LA KEYSTORE
java.io.FileInputStream file = new java.io.FileInputStream(
"C:\jks\keystore.jks"); //EL ARCHIVO QUE GENERAMOS TIENE QUE ESTAR EN EL DISCO C
keyStore.load(file, pass.toCharArray());
PrivateKey pk = (PrivateKey) keyStore.getKey("mtorre4580",
pass.toCharArray());//USUARIO Y PASSWORD DE LA KEYSTORE
Certificate[] chain = keyStore.getCertificateChain("mtorre4580"); //OBTENGO EL CERTIFICADO
PdfReader reader = new PdfReader(origen);
FileOutputStream os = new FileOutputStream(destino);
PdfStamper stamper = PdfStamper.createSignature(reader, os, 'public void firmarPdf(String origen, String destino) {
try {
KeyStore keyStore = KeyStore.getInstance("JKS");
String pass = "456123789"; //PASSWORD DE LA KEYSTORE
java.io.FileInputStream file = new java.io.FileInputStream(
"C:\jks\keystore.jks"); //EL ARCHIVO QUE GENERAMOS TIENE QUE ESTAR EN EL DISCO C
keyStore.load(file, pass.toCharArray());
PrivateKey pk = (PrivateKey) keyStore.getKey("mtorre4580",
pass.toCharArray());//USUARIO Y PASSWORD DE LA KEYSTORE
Certificate[] chain = keyStore.getCertificateChain("mtorre4580"); //OBTENGO EL CERTIFICADO
PdfReader reader = new PdfReader(origen);
FileOutputStream os = new FileOutputStream(destino);
PdfStamper stamper = PdfStamper.createSignature(reader, os, '%pre%');
PdfSignatureAppearance appearance = stamper
.getSignatureAppearance();
appearance.setReason("Firmar documento con itext mtorre4580");
appearance.setLocation("Argentina");
appearance.setVisibleSignature(new Rectangle(72, 732, 144, 780), 1,
"signature");
} catch (Exception e) {
logger.error("Error al firmar el pdf");
}
}
');
PdfSignatureAppearance appearance = stamper
.getSignatureAppearance();
appearance.setReason("Firmar documento con itext mtorre4580");
appearance.setLocation("Argentina");
appearance.setVisibleSignature(new Rectangle(72, 732, 144, 780), 1,
"signature");
} catch (Exception e) {
logger.error("Error al firmar el pdf");
}
}