首页 > 解决方案 > 验证 PDF 文件是否经过数字签名

问题描述

我从外部系统获得了一份文件。我不知道在文档中添加了哪个 signatureFieldName。然后我将如何验证该文档是否经过数字签名。

我正在使用 iText7 进行数字签名。

标签: javaitextdigital-signatureitext7

解决方案


SignatureUtil.getSignatureNames()您可以通过检查根据其 JavaDocs获取具有签名并已签名的字段名称来检查 PDF 中是否有任何签名的签名字段。

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 ...]
}

推荐阅读