首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字签名appearance.setContact未显示

数字签名appearance.setContact未显示
EN

Stack Overflow用户
提问于 2014-09-01 11:56:48
回答 1查看 486关注 0票数 0

appearance.setContact(String);方法有问题。我可以用我的应用程序签署一个pdf文档,使用itext (java),但出于某种原因,我的签名没有显示联系信息,我不知道为什么。

appearance.setReason();appearance.setLocation();

工作正常吗,我的符号方法是传递三个字符串的原因,位置和联系,但出于某种原因,接触没有显示?

一切都是正确的。

代码语言:javascript
复制
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
        appearance.setReason(reason);
        appearance.setLocation(location);
        appearance.setContact(contact);
        appearance.setVisibleSignature(new Rectangle(50, 700, 150, 800), 1, "sig");
        appearance.setCertificationLevel(PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED);

有人有线索吗?!谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-01 12:35:52

创建数字签名时,您“填写”/V条目引用签名字典的签名字段。此签名字典包含多个条目,其中包括原因、位置和联系方式。

使用setReason()setLocation()setContact()方法时,将正确填写这些条目。关于/ContactInfo密钥,ISO-32000-2的草案将其定义如下:

签名者提供的ContactInfo信息,使收件人能够与签名者联系以验证签名。如果SubFilter是ETSI.RFC3161,则不应使用此条目,交互式PDF处理器应忽略此条目。一个电话号码。

这是您问题的一个方面:您可以100%确信iText正确地创建了这些条目。

问题的第二个方面涉及签名的视觉外观,更具体地说,涉及签名的小部件注释的外观。

您可以任意创建此外观(请参阅我的关于数字签名的书的2.4.2节),但为了方便起见,iText还可以创建一个外观,其名称为证书中提到的名称,以及签名的位置和原因。那是设计上的选择。我们认为在签名中显示电话号码并不重要。

这种接触之所以没有显示出来,是因为我们不认为展示它是有意义的。如果您确实想要显示它(例如,因为它是您的需求的一部分),那么使用自定义代码创建外观应该没有问题。

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

https://stackoverflow.com/questions/25605351

复制
相关文章

相似问题

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