问题描述
我从外部系统获得了一份文件。我不知道在文档中添加了哪个 signatureFieldName。 然后我将如何验证此文档是否经过数字签名。
我使用 iText7 进行数字签名。
解决方法
您可以通过检查 SignatureUtil.getSignatureNames()
来检查 PDF 中是否有任何签名的签名字段,它根据其 JavaDocs 获取具有签名和签名的字段名称。
PdfDocument pdfDoc = new PdfDocument(...);
SignatureUtil signUtil = new SignatureUtil(pdfDoc);
List<String> names = signUtil.getSignatureNames();
if (names.isEmpty()) {
[... handle case of unsigned PDF ...]
} else {
[... handle case of PDF signed at least once ...]
}