带有签名哈希的itext签名PDF

时间:2018-11-23 17:22:30

标签: c#

我正在尝试使用签名哈希对PDF进行签名。

我的情况:

将PDF哈希发送到服务->> <<-服务返回给我的哈希签名

我的代码:

public static void CreateBlankSignature(string unsignedPdf, string tempPdf, byte[] sig)
        {
            using (PdfReader reader = new PdfReader(unsignedPdf))
            {
                using (FileStream os = File.OpenWrite(tempPdf))
                {
                    PdfStamper stamper = PdfStamper.CreateSignature(reader, os, '\0');
                    PdfSignatureAppearance appearance = stamper.SignatureAppearance;
                    appearance.Location = mylocation ;
                    appearance.Reason = myReason ;
                    appearance.SetVisibleSignature(new iTextSharp.text.Rectangle(36, 748, 144, 780), 1, fieldName);
                    IExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.ADOBE_PPKMS, PdfName.ADBE_PKCS7_SHA1);
                    MakeSignature.SignExternalContainer(appearance, external, 8192);
                }
            }
            EmbedSignature(tempPdf, unsignedPdf, sig);
        }
        public static void EmbedSignature(string tempPdf, string signedPdf, byte[] signedBytes)
        {
            using (PdfReader reader = new PdfReader(tempPdf))
            {
                using (FileStream os = File.OpenWrite(signedPdf))
                {
                    IExternalSignatureContainer external = new MyExternalSignatureContainer(signedBytes);
                    MakeSignature.SignDeferred(reader, fieldName, os, external);
                }
            }
        }

但是我有这个错误:BER解码时遇到错误

我该怎么办?

0 个答案:

没有答案