首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加LTV (长期验证)使byterange无效

添加LTV (长期验证)使byterange无效
EN

Stack Overflow用户
提问于 2020-04-06 01:36:24
回答 1查看 495关注 0票数 0

我正在写一个小型库,旨在成为一个高水平(如在简单使用)库数字签名与WeasyPrint库(https://github.com/Kozea/WeasyPrint)生成的pdf。

我已经将它用于自签名证书,现在我正在开发一个适配器,用于来自Globalsign DSS API (https://www.globalsign.com/en/resources/apis/api-documentation/digital-signing-service-api-documentation.html)的数字签名。

除了LTV (Long Term Validation,长期验证)之外,我已经做好了所有的工作,LTV需要一个DSS字典,列出OCSP信息和链中的任何证书(用于处理撤销)。

当我添加DSS时,它必须在签名数据写入之后出现,我在Adobe Acrobat中得到一个错误,指出签名byterange无效。

如何在不使byterange无效的情况下启用DSS功能?

我对iText库进行了一些深入的研究,但它太抽象了,以至于很难弄清楚正在写入的实际数据。我仍然使用标记iText,因为在处理PDF中的数字签名时,它在某种程度上是一个行业标准。

EN

回答 1

Stack Overflow用户

发布于 2020-04-10 08:43:45

多亏了这个名字很漂亮的文档:Electronic Signatures and Infrastructures (ESI); PDF Advanced Electronic Signature Profiles; Part 4: PAdES Long Term - PAdES-LTV Profile,它的标题可能很冗长,但是这个文档实际上是非常简洁和有用的读物。

可以在原始字节范围之后添加DSS,方法是在文件末尾添加一个时间戳,该时间戳获取包括整个文件(包括DSS )的另一个字节范围的摘要。你必须启用一个扩展才能工作,请参阅“4.4章扩展字典”。在链接的文档中有更详细的细节。

我认为值得一提的是,我通过使用Apache实用程序发现了我的PDFBox中的一些语法错误。我希望我能早点找到它。

如果你感兴趣,我在github:https://github.com/hejsan/WeasySign上发布了这个库。它已经可以工作了,但还需要一些改进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61046732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档