I am using aspose.pdf-17.2.0 for java. I have a scenario:
a- I added digital Signature and saved the PDF File (File-After-First-Signautre.pdf), There it is showing correctly Signature information .
b- Now added an other digital Signature in File-After-First-Signautre.pdf, saved the file with name File-After-Second-Signautre.
Here it is showing new signature’s information but the previous signature’s information is lost, It is saying signed by unknown. Previous Signature should be Invalidate, but information should not be lost.
I attached both pdf files and also attached the image of 2nd pdf, where it is showing signature Information.
This is my Code:
certificateInformation=getCertificateInformation(usercode);
String d=(String) certificateInformation.get("d");
if(d.isEmpty()){
String certificatePwd=(String) certificateInformation.get("certificatePwd");
String certificatePath=(String) certificateInformation.get("certificatePath");
PKCS7 signature = new PKCS7(certificatePath, certificatePwd);
Rectangle rectangle =new Rectangle(x,y,width,height);
PdfFileSignature pFileSignature = new PdfFileSignature();
pFileSignature.bindPdf(pdfFilePath);
pFileSignature.sign(pageNo, false, rectangle,signature );
pFileSignature.setSignatureAppearance(signatureImagePath);
String url = clsStaticData.getServiceParamValue(CTSCService.SERVICE_NAME_CTSC, "RootDirectoryPath", "");
String outPutPDFFilename = "signed" + UUID.randomUUID().toString()+".pdf";
String outSignedFile = url + "temp\\"+ outPutPDFFilename;
pFileSignature.save(outSignedFile);
obj.put("error", "");
obj.put("outputFile", outSignedFile);
}else{
obj.put("error", "Certificate does not exist");
}
File-After-First-Signautre.pdf (119.7 KB)
File-After-Second-Signautre.pdf (165.6 KB)
PDF-Signature-After two Signatures.PNG (42.0 KB)