使用LTV进行iText和PDF签名不显示TimeStamp的OCSP和CRL

时间:2014-12-17 07:45:12

标签: c# pdf itext signing

我是iText的新手。我想签署PDF并添加LTV。签名PDF很好但是当我想将LTV添加到PDF时,它没有显示TimeStamp证书的OCSP和CRL信息。 首先,我想描述一下我的签名方式。 - 我的证书链:签署证书,签署证书根,TimeStamp证书,TimeStamp证书根。 (我忘了链中的任何东西吗?)

对于签名PDF,我正在使用:

MakeSignature.SignDetached(signatureAppearance, externalSignature, chain, crlList, ocsp2, tsa1, 0, CryptoStandard.CMS);

之后,我正在为签名和TimeStamp添加LTV。

            PdfReader r = new PdfReader(this.Source);
            FileStream fos = new FileStream(this.Output, FileMode.Create);
            PdfStamper stp = PdfStamper.CreateSignature(r, fos, '\0', null, true);
            LtvVerification v = stp.LtvVerification;
            AcroFields fields = stp.AcroFields;
            List<String> names = fields.GetSignatureNames();
            String sigName = names[names.Count - 1];
            PdfPKCS7 pkcs7 = fields.VerifySignature(sigName);


            if (pkcs7.IsTsp)
                v.AddVerification(sigName, this.ocspClient, this.crlClient, LtvVerification.CertificateOption.SIGNING_CERTIFICATE, LtvVerification.Level.OCSP_CRL, LtvVerification.CertificateInclusion.NO);
            else
            foreach (String name in names)
                    v.AddVerification(name, this.ocspClient, this.crlClient, LtvVerification.CertificateOption.WHOLE_CHAIN, LtvVerification.Level.OCSP_CRL, LtvVerification.CertificateInclusion.NO);
            PdfSignatureAppearance sap = stp.SignatureAppearance;

            LtvTimestamp.Timestamp(sap, this.tsaClient, null);

我正在执行这两次,一次是Signature,第二次是TimeStamp。这是Adobe的结果:

1

正如您所看到的,签名证书没有问题。我可以看到嵌入在PDF中的OCSP信息。但是当我控制timeStamp证书时,我可以看到没有OCSP - CRL信息显示。

1

第二张图片表示时间戳证书。 如何为时间戳证书嵌入OCSP和CRL?

PDF链接: https://onedrive.live.com/redir?resid=607F56E75A4158B3!4560&authkey=!AMOR4lHaSTvF2LM&ithint=file%2cpdf

谢谢。

0 个答案:

没有答案