当前位置: 首页 > 知识库问答 >
问题:

由iTextSharp 5或iText7 dotnet签署的PDF显示,iText和Adobe有效,但欧盟DSS演示版无效

乐正浩博
2023-03-14

我发现最新的iText5存在PDF签名问题。我知道那个版本已经被弃用了,但我必须使用旧版本,因为我需要在一个不比旧版本更新的环境中使用它。NET框架v3。5个是允许的。

对于歌唱文档,客户端可以使用软件或硬件密钥。我们公司已经使用了RSA签名,但现在我们也必须实现对ECDsa密钥的支持。这就是为什么我试图用iText的PrivateKeySignature类对PDF文件进行签名,并调用MakeSignature。签名分离方法

当我使用RSA密钥对PDF进行签名,并尝试使用欧盟委员会的DSS演示应用程序(https://ec.europa.eu/cefdigital/DSS/webapp-demo/validation)验证签名时,它对签名没有问题,只是它不接受证书颁发者作为受信任的CA。那很好,因为我使用内部CA生成的测试密钥,仅供开发人员使用。

但如果我使用ECDSA密钥对PDF进行签名,DSS演示应用程序会显示“签名不完整”。

我用于签名的代码:

AbstractPdfSigner pdfSigner = new PdfSigner();
pdfSigner.SignAsPkcs7Detached = false;
pdfSigner.SignMethod = "Hashed;
pdfSigner.SignReason = "The Quick Brown Fox Jumps Over The Lazy Dog";
pdfSigner.SignLocation = "Test Location";
pdfSigner.SignToNewRevision = true;

pdfSigner.TsaClientUrl = "https://bteszt.e-szigno.hu/tsa";
pdfSigner.TsaClientLogin = "teszt";
pdfSigner.TsaClientPwd = "teszt";
pdfSigner.TsaClientAuthenticationCertificate = null;

pdfSigner.EnableOcsp = false;
pdfSigner.OcspUrl = null;

pdfSigner.HashAlgorithmId = "SHA256";

pdfSigner.VisibleSignatureX1 = 10;
pdfSigner.VisibleSignatureY1 = 10;
pdfSigner.VisibleSignatureX2 = 250;
pdfSigner.VisibleSignatureY2 = 90;

string testPdf = "JVBERi0xLjQKJeLjz9MKMiAwIG9iago8PC9GVC9TaWcvVHlwZS9Bbm5vdC9TdWJ0eXBlL1dpZGdldC9SZWN0WzEwIDEwIDI1MCA5MF0vVChEU0lHKS9GIDQvUCAzIDAgUi9NSzw8L0JDWzAgMCAwXS9CR1sxIDEgMV0+Pi9BUDw8L04gMSAwIFI+Pi9EUjw8Pj4+PgplbmRvYmoKNCAwIG9iago8PC9UeXBlL0ZvbnQvQmFzZUZvbnQvSGVsdmV0aWNhL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9OYW1lL0hlbHYvU3VidHlwZS9UeXBlMT4+CmVuZG9iago1IDAgb2JqCjw8L1R5cGUvRm9udC9CYXNlRm9udC9aYXBmRGluZ2JhdHMvTmFtZS9aYURiL1N1YnR5cGUvVHlwZTE+PgplbmRvYmoKMSAwIG9iago8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9Gb3JtL1Jlc291cmNlczw8Pj4vQkJveFswIDAgMjQwIDgwXS9Gb3JtVHlwZSAxL01hdHJpeCBbMSAwIDAgMSAwIDBdL0xlbmd0aCAyNi9GaWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQp4nDPQM1UwAGIjY0sgaQ4iilIVghUAORcE5QplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKPDwvUHJvZHVjZXIoR1BMIEdob3N0c2NyaXB0IDguNjQ7IG1vZGlmaWVkIHVzaW5nIGlUZXh0U2hhcnCSIDUuNS4xMy4yIKkyMDAwLTIwMjAgaVRleHQgR3JvdXAgTlYgXChBR1BMLXZlcnNpb25cKSkvQ3JlYXRpb25EYXRlKEQ6MjAxMDA4MjYxNTU3MTcrMDInMDAnKS9Nb2REYXRlKEQ6MjAyMTExMzAxNDExMzUrMDEnMDAnKS9UaXRsZSj+/wBEAG8AYwB1AG0AZQBuAHQAMSkvQ3JlYXRvcij+/wBQAEQARgBDAHIAZQBhAHQAbwByACAAVgBlAHIAcwBpAG8AbgAgADAALgA5AC4AOCkvQXV0aG9yKP7/AG4AYQBnAHkAcABhAGwALgBnAGEAYgBvAHIpL0tleXdvcmRzKCkvU3ViamVjdCgpPj4KZW5kb2JqCjcgMCBvYmoKPDwvTGVuZ3RoIDM2MDAvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTD4+c3RyZWFtCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMS4wLWpjMDAzIj4KICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iCiAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgcGRmOlByb2R1Y2VyPSJHUEwgR2hvc3RzY3JpcHQgOC42NDsgbW9kaWZpZWQgdXNpbmcgaVRleHRTaGFycOKEoiA1LjUuMTMuMiDCqTIwMDAtMjAyMCBpVGV4dCBHcm91cCBOViAoQUdQTC12ZXJzaW9uKSIKICAgICAgcGRmOktleXdvcmRzPSIoKSIKICAgICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTEtMzBUMTQ6MTE6MzUrMDE6MDAiCiAgICAgIHhtcDpDcmVhdGVEYXRlPSIyMDEwLTA4LTI2VDE1OjU3OjE3KzAyOjAwIgogICAgICB4bXA6Q3JlYXRvclRvb2w9IlwzNzZcMzc3XDAwMFBcMDAwRFwwMDBGXDAwMENcMDAwclwwMDBlXDAwMGFcMDAwdFwwMDBvXDAwMHJcMDAwIFwwMDBWXDAwMGVcMDAwclwwMDBzXDAwMGlcMDAwb1wwMDBuXDAwMCBcMDAwMFwwMDAuXDAwMDlcMDAwLlwwMDA4IgogICAgICB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTExLTMwVDE0OjExOjM1KzAxOjAwIgogICAgICB4bXBNTTpEb2N1bWVudElEPSI1Njk2Y2MxNi1iMzc1LTExZGYtMDAwMC1kZjY3YzU3NGM1NDUiCiAgICAgIHhtcE1NOkluc3RhbmNlSUQ9InV1aWQ6NTY5NmNjMTYtYjM3NS0xMWRmLTAwMDAtZGY2N2M1NzRjNTQ1IgogICAgICBkYzpmb3JtYXQ9ImFwcGxpY2F0aW9uL3BkZiI+CiAgICAgIDxkYzp0aXRsZT4KICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+XDM3NlwzNzdcMDAwRFwwMDBvXDAwMGNcMDAwdVwwMDBtXDAwMGVcMDAwblwwMDB0XDAwMDE8L3JkZjpsaT4KICAgICAgICA8L3JkZjpBbHQ+CiAgICAgIDwvZGM6dGl0bGU+CiAgICAgIDxkYzpjcmVhdG9yPgogICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgPHJkZjpsaT5cMzc2XDM3N1wwMDBuXDAwMGFcMDAwZ1wwMDB5XDAwMHBcMDAwYVwwMDBsXDAwMC5cMDAwZ1wwMDBhXDAwMGJcMDAwb1wwMDByPC9yZGY6bGk+CiAgICAgICAgPC9yZGY6U2VxPgogICAgICA8L2RjOmNyZWF0b3I+CiAgICAgIDxkYzpkZXNjcmlwdGlvbj4KICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtcmVwYWlyIj4oKTwvcmRmOmxpPgogICAgICAgIDwvcmRmOkFsdD4KICAgICAgPC9kYzpkZXNjcmlwdGlvbj4KICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94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gRIogRIogRIogRIogRIogeIv2sfg/4seMcKoiewJQmCM/6E/+PhP/QSJPvq3/vdNjsiuLv5GHCTo/kgRjftnENofSTEJkVO+YF5F/Tyh1wi5SQSL0P/j0U5rd0Qc6Tol4f+rK0GRfyH3i//9KWn9grd0tCvb98yxZv4ietCBHvpm5YuaPtXn2hXHjh7fEPat6UGEYfq14PM/0pwOBAplbmRzdHJlYW0KZW5kb2JqCjEzIDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvRGlmZmVyZW5jZXNbMTkzL0FhY3V0ZSAyMDUvSWFjdXRlXT4+CmVuZG9iagoxNiAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE1OD4+c3RyZWFtCnicXU8xDsMgDNx5hX8ApGuUJV0ytKrafoAYEzHEIEKG/r6BJB06nKXz3cln2Q/XgX0G+UgBX5TBebaJlrAmJBhp8ix0A9ZjPlidOJsoZH8z8f2JBJuB3M7vZib51Je60XsGg6UlGqRkeCLRKtW1znWC2P5JR2B0p1N3O1Sjqv9USrR0OE8CrikR51q0FikFPNPvlxhiScEG8QXpEVLmCmVuZHN0cmVhbQplbmRvYmoKMTcgMCBvYmoKPDwvVHlwZS9FbmNvZGluZy9CYXNlRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0RpZmZlcmVuY2VzWzEvZzNdPj4KZW5kb2JqCnhyZWYKMCAxOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAzMzAgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDA0NzMwIDAwMDAwIG4gCjAwMDAwMDAxNTYgMDAwMDAgbiAKMDAwMDAwMDI1NCAwMDAwMCBuIAowMDAwMDAwNTExIDAwMDAwIG4gCjAwMDAwMDA4NTkgMDAwMDAgbiAKMDAwMDAwNDUzNCAwMDAwMCBuIAowMDAwMDA0Njc5IDAwMDAwIG4gCjAwMDAwMDU2NTMgMDAwMDAgbiAKMDAwMDAwNDg3OSAwMDAwMCBuIAowMDAwMDA1MjI0IDAwMDAwIG4gCjAwMDAwMTE4NzUgMDAwMDAgbiAKMDAwMDAwNTMwNCAwMDAwMCBuIAowMDAwMDA1NDY2IDAwMDAwIG4gCjAwMDAwMTE5NDUgMDAwMDAgbiAKMDAwMDAxMjE3MSAwMDAwMCBuIAowMDAwMDA1Njk0IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSAxOS9Sb290IDggMCBSL0luZm8gNiAwIFIvSUQgWzw0ZDRjMzExZGQ2YTY3OTBmNGUxYTlhYWI4MmNiZThmYT48ZjU4OTA3MWEyZTdhMDljNDAzNzZhMzg3Yzg3MDFjMTE+XT4+CiVpVGV4dC01LjUuMTMuMgpzdGFydHhyZWYKMTIyNTMKJSVFT0YK";
pdfSigner.InputPdfBuffer = Convert.FromBase64String(testPdf);

Status status = pdfSigner.Sign(this.Handle, null);

我使用的课程如下:https://gist.github.com/azure-hu/822229714a6ca896682bbb903e1b1ecf,但即使我尝试使用iText提供的示例,也会发生同样的情况。(例如:https://kb.itextsupport.com/home/it5kb/examples/digital-signatures-chapter-2#Digitalsignatures-第2-c2章(签名世界)

在创建ECDsa签名的PDF文件时,我是否错过了什么?也许iTextSharp 5只能使用RSA或DSA密钥对PDF文件进行签名?

共有1个答案

霍弘厚
2023-03-14

就像@mval在评论中提到的那样,iText使用公钥算法OID作为签名算法OID。

如果RSA与此处相同,则为RSA密钥和RSASSA指定相同的OID(使用PKCS#1 v1.5填充)。

ECDSA并非如此,因此eSignature DSS抱怨。另一方面,Adobe Acrobat(Reader)非常松懈。它实际上忽略了签名算法OID字段,您甚至可以在该字段中使用带有RSA OID的ECDSA签名,而当前的Acrobat不会抱怨。

要解决此问题,请使用IExternalSignatureContainer实现,而不是IExternalSignature实现并调用MakeSignature。SignExternalContainer而不是MakeSignature。签名分离。在IExternalSignatureContainer实现中,可以使用BouncyCastle或Windows Crypto API类创建CMS签名容器。

与iText方面不正确的签名算法OID相关的其他问题:

  • ECDSA签名的PDF无法通过iText 7(C#)进行签名验证,但在Adobe Reader DC上成功
  • C#Itext7签名的pdf签名在Foxit pdf Reqader中无效,但在Acrobat reader中有效
 类似资料:
  • 我刚刚签署文件。和添加LTV太(与文档安全故事和TSA);但土坯读者告诉我,LTV是不启用。 我发现了问题。Adobe reader告诉我文档中没有嵌入OCSP。 添加时间戳后,我只需创建DSS字典并添加证书和ocsp响应。 这还不足以增加OCSP吗? 我像Pades BES一样签署文件。它需要VRI吗?我知道id不需要。 这是样品 PDF文件

  • 我正在ASP.NET应用程序中使用iText7对PDF进行数字签名。我用的是vb,但我也能找到一个C#答案。我们使用GlobalSign DSS以使签名不作为未知(AATL)出现。 我从我们公司的SSL证书创建了一个pfx文件,我可以使用该文件对PDF文件进行签名,但我不明白如何使用从GlobalSign获得的东西来完成同样的事情。此服务要求发送一个十六进制编码的SHA256摘要,作为返回,我接收

  • 作为我对客户机/服务器pdf签名研究的一部分,我测试了itext pdf延迟签名示例。不幸的是,我得到的合并空签名pdf和哈希值的pdf ie输出显示无效签名。 下面是我的代码片段 我正在使用pkcss11 usb令牌进行签名

  • 我正在使用瑞士电信数字签名服务,我们有一个测试帐户。服务需要散列码pdf文件。我们把它和 数字签名(PKCS#7-延迟签名)/自应用签名以来文档已被更改或损坏 我的回应是sha256被加密了。我正在使用iText和C#来签署pdf文件。我签字,我看到一些细节(如原因,地点等)。 下面是创建带有签名字段的pdf文件的方法 我错过了什么或者做错了什么?

  • PDF下载示例:https://drive.google.com/file/d/12wv1Pb7gh4vCKOGhX4cZ3aOrLSiOo4If/view?usp=sharing 因此,当PDF在A.Reader(连续版本)中打开时,它表示证书无效,因为对该文档所做的更改导致签名无效。 但我看不出有什么变化。我们自己的应用程序只添加了一个签名(证书),为数千个其他PDF添加了正确的签名。未执行其

  • 我正在用iText7和GlobalSign DSS对PDF进行数字签名。我在必要的iText类中实现了GlobalSing DSS API调用。我得到适当的服务器响应,并且能够使用所有需要的参数调用pdfsigner.signdetached()方法。用pdfSigner签名也成功了,我得到了一个签名的PDF,乍一看很好。但是,当我在Adobe Reader中打开签名的pdf时,它告诉我签名证书的