是否可以验证数字签名并创建新文档,以便Adobe Reader或Foxit阅读器在启动时不进行验证

时间:2019-06-08 18:11:40

标签: c# itext digital-signature

在对文档进行数字签名后,我想从C#iTextSharp(使用Foxit reader进程)以静默方式打印文档。 打印文档后,签名部分会贴上黄色问号

当我在Foxit阅读器中打开文档并打印该文档时,绿色的复选标记可见(因为Foxit阅读器将在启动时验证签名)

因此,总的来说,我需要使用C#和iTextSharp保存带有经过验证的签名的PDF,以便默认情况下绿色复选标记应出现并且在静默打印中应可见(不需要先使用Foxit / Adob​​e Reader打开文件) )。

我尝试将Acro6Layers设置为true,但是在这种情况下,既不会显示绿色的复选标记,也不显示问号,

我尝试使用Adobe Reader静默打印文档,并且效果很好(因为即使在静默打印模式下,也会弹出Adobe Reader窗口并执行签名过程,但是对于Foxit Reader,不会有这样的窗口在静音打印期间打开)

        PdfSignatureAppearance appearance = stamper.SignatureAppearance;
        appearance.Reason = reason;
        appearance.Location = location;
        appearance.Acro6Layers = false;            
        appearance.SetVisibleSignature(new Rectangle(50, 730, 144, 790), 1, "sig");         
        // Creating the signature
        IExternalSignature pks = new PrivateKeySignature(pk, digestAlgorithm);

        MakeSignature.SignDetached(appearance, pks, chain, null, null, null, 0, subfilter);

预期结果:在使用Foxit阅读器进行静默打印期间,应粘贴绿色复选标记。 实际结果:无声打印上贴有黄色问号

0 个答案:

没有答案