Я пытаюсь подписать PDF-документы с помощью PdfBox и cmsSignature.
Но мой код всегда возвращает PDF-файл с поврежденной подписью: «Документ был изменен или поврежден с момента его подписания»< /p>
Я использую PdfBox 2.0.29
Мне нужно, чтобы подпись была добавлена в PDF-файл и чтобы подпись была действительна, не так ли? возможно?
public ResponseEntitysignPdf(@RequestParamStringpdfPath,@RequestParamStringcmsSignature64){
try{
//DecodeCMSsignaturefromBase64
byte[]cmsSignature=java.util.Base64.getDecoder().decode(cmsSignature64);
//LoadthePDFdocument
PathpdfFilePath=Path.of(pdfPath);
if(!Files.exists(pdfFilePath)){
returnResponseEntity.badRequest().body("PDFfilenotfoundat:"+pdfPath);
}
FileinputFile=pdfFilePath.toFile();
PDDocumentdocument=PDDocument.load(inputFile);
//Createanewsignature
PDSignaturesignature=newPDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);//MatchesiTextCMSfilter
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);//MatchesiTextdetachedsignature
signature.setReason("QualifiedCertification");//MatchesiTextreason
signature.setLocation("");//MatchesiTextlocation
signature.setSignDate(Calendar.getInstance());//Setscurrenttimestamp(optional)
signature.setContents(newbyte[8192]);//Adjustsizeifneeded
//Addthesignaturefieldwithaspecificname
signature.setName("DetachedSignature");//MatchesiTextfieldname
document.addSignature(signature);
//Preparetheexternalsignature
ExternalSigningSupportexternalSigning=document.saveIncrementalForExternalSigning(newFileOutputStream(inputFile));
//WritethedetachedCMSsignaturetothePDF
externalSigning.setSignature(cmsSignature);
//Saveandclosethedocument
document.close();
returnResponseEntity.ok("PDFsignedsuccessfully:"+pdfFilePath.toString());
}catch(Exceptione){
e.printStackTrace();
returnResponseEntity.status(500).body("ErrorwhilesigningPDF:"+e.getMessage());
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... ssignature
PDBox подписывает документ с помощью cmsSignature ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SyncFusion подписывает PDF-документ с отметкой времени из внешнего источника
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SyncFusion подписывает PDF-документ с отметкой времени из внешнего источника
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SyncFusion подписывает PDF-документ с отметкой времени из внешнего источника
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SyncFusion подписывает PDF-документ с отметкой времени из внешнего источника
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-