java - 验证 PDF 文件是否经过数字签名
问题描述
我从外部系统获得了一份文件。我不知道在文档中添加了哪个 signatureFieldName。然后我将如何验证该文档是否经过数字签名。
我正在使用 iText7 进行数字签名。
解决方案
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 ...]
}
推荐阅读
- python - 无需回退(搜索) io.Bytes() 对象即可使用 docx add_picture 包含图像
- apache-spark - 为什么对一个很小的 azure databricks 数据库表的查询需要 5 秒才能返回?
- javascript - 触发 javascript 函数的输入
- python - python - 如何在python中以像素数为x轴,灰度颜色为y轴绘制图形?
- anaconda - “*。” 未被识别为内部或外部命令
- java - 将 aws ec2 mysql 与我的本地 java 应用程序连接
- c# - 如何为输出文件添加图标?
- flutter - 展开的周围飘动的灰线
- javascript - 如何使用 javascript 在 div 中附加 iframe
- java - 在 Java 中实现堆栈