0

我目前正在为包含 pdf 签名的商业案例评估 iTextSharp (5.5.8)。签名必须包含 pades-epes signature-policy-identifier 属性。我找不到包含此属性的文档和/或示例。所以我的问题是,iTextSharp 是否能够提供此属性,如果可以,如何添加它。

4

2 回答 2

1

我希望不会太晚,但我对 iTextSharp 源代码添加了一些更改以支持 PAdES-EPES 签名。这是我的代码示例:

        SignaturePolicyInfo spi = new SignaturePolicyInfo();
        spi.PolicyIdentifier = "2.16.724.1.3.1.1.2.1.9";
        spi.PolicyHash = "G7roucf600+f03r/o0bAOQ6WAs0=";
        spi.PolicyDigestAlgorithm = "SHA-1";
        spi.PolicyUri = "https://sede.060.gob.es/politica_de_firma_anexo_1.pdf";

        MakeSignature.SignDetached(signatureAppearance, externalSignature, chain, null, null, null, 0, CryptoStandard.CADES, spi);

你可以看看:https ://github.com/zinkpad/itextsharp

我希望这对你有帮助。

于 2016-05-25T16:19:29.537 回答
0

不幸的是,您没有在代码中显示卡住的位置。

如果您使用MakeSignature.SignDetached的是 ,恐怕不支持添加策略标识符。

但是你总是可以使用它MakeSignature.SignExternalContainer。这个帮助程序允许您创建实际的签名容器以使用例如 BouncyCastle 嵌入到外部,因此您可以包含您想要的任何属性,而 iText(Sharp) 会完成所有其他操作。

于 2016-01-05T09:28:50.707 回答