栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用iText从PCKS7签名的PDF文件中获取哈希/摘要

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用iText从PCKS7签名的PDF文件中获取哈希/摘要

考虑到您需要摘要来满足某些 法律限制 ,因此,我假设您使用的是 ETSI.CAdES.detached*
adbe.pkcs7.detached 类型PDF签名的signed属性的值

MessageDigest
(如果存在)。有符号字节范围。
*



如果要使用iText类(即 不是
安全提供程序类)来执行此操作,则必须克服一个小问题,即所要获取的值存储在私有成员(

PdfPKCS7.digestAttr
)中。不过,有些反射使您可以访问它:

void extractHashes(PdfReader reader) throws Exception{    AcroFields acroFields = reader.getAcroFields();    List<String> names = acroFields.getSignatureNames();    for (String name: names)    {        PdfPKCS7 pdfPkcs7 = acroFields.verifySignature(name);        pdfPkcs7.verify();        Field digestAttrField = PdfPKCS7.class.getDeclaredField("digestAttr");        digestAttrField.setAccessible(true);        byte[] digestAttr = (byte[]) digestAttrField.get(pdfPkcs7);        // process the digest value in digestAttr     }}

您可以找到更完整的示例ExtractHash.java中使用的方法,该示例输出最大算法和PDF文档中签名字段的摘要值,例如:

FirstPage11P0022AD_20150202164018_307494.pdf  Signature1    Digest algorithm: SHA1    Hash: 4ac0ed7c2ec611d491f37b5ca74598237b85dbab


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号