appearance.setContact(String);方法有问题。我可以用我的应用程序签署一个pdf文档,使用itext (java),但出于某种原因,我的签名没有显示联系信息,我不知道为什么。
appearance.setReason();appearance.setLocation();
工作正常吗,我的符号方法是传递三个字符串的原因,位置和联系,但出于某种原因,接触没有显示?
一切都是正确的。
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);有人有线索吗?!谢谢
发布于 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还可以创建一个外观,其名称为证书中提到的名称,以及签名的位置和原因。那是设计上的选择。我们认为在签名中显示电话号码并不重要。
这种接触之所以没有显示出来,是因为我们不认为展示它是有意义的。如果您确实想要显示它(例如,因为它是您的需求的一部分),那么使用自定义代码创建外观应该没有问题。
https://stackoverflow.com/questions/25605351
复制相似问题