C# itext7读取pdf报错: bouncy-castle-fips-adapter dependency must be added 解决办法

解决办法 NuGet 下载 itext7.bouncy-castle-adapter 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您在使用 iText7 的过程中遇到了“内部异常 NotSupportedException: Either itext7.bouncy-castle-adapter or itext7.bouncy-castle-fips-adapter dependency must be added in order to use BouncyCastleFactoryCreator”这个错误,原因是您正在尝试使用 iText7BouncyCastleFactoryCreator,但是您没有添加 iText7.BouncyCastleAdapteriText7.BouncyCastleFipsAdapter 依赖项。 BouncyCastleFactoryCreator 是 iText7 中的一个类,它提供了一种创建 BouncyCastle 加密算法工厂的方法。如果您计划在 iText7使用加密或数字签名功能,则需要使用 BouncyCastleFactoryCreator。 要解决这个问题,您需要在项目中添加 iText7.BouncyCastleAdapteriText7.BouncyCastleFipsAdapter 依赖项,具体取决于您的应用程序是否需要支持 FIPS(美国联邦信息处理标准)。您可以通过 NuGet 包管理器或手动添加这些依赖项的引用来实现。 在使用 iText7.BouncyCastleAdapter 时,您可以添加以下 NuGet 包: ```plaintext iText7.BouncyCastleAdapter ``` 在使用 iText7.BouncyCastleFipsAdapter 时,您可以添加以下 NuGet 包: ```plaintext iText7.BouncyCastleFipsAdapter ``` 一旦您添加了适当的依赖项,就可以在 iText7使用 BouncyCastleFactoryCreator 了。 例如: ```csharp using iText.IO.Font.Constants; using iText.Kernel.Pdf; using iText.Signatures; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Security; // ... // Get the private key and certificate from a keystore or other source AsymmetricKeyParameter privateKey = // ... Org.BouncyCastle.X509.X509Certificate[] chain = // ... // Create the BouncyCastle encryption factory ICipherParameters cipherParams = new AsymmetricKeyEntry(privateKey).Key; BouncyCastleFactoryCreator factoryCreator = new BouncyCastleFactoryCreator(); Security.AddProvider(new BouncyCastleProvider()); PdfSigner signer = new PdfSigner(pdfDoc, outputStream, new StampingProperties().UseAppendMode()); signer.SignDetached(chain, privateKey, new[] { new PdfSignatureAppearance().SetPageNumber(1) }, null, null, null, 0, CryptoStandard.CMS, factoryCreator); ``` 上面的代码示例演示了如何使用 BouncyCastleFactoryCreator 创建一个 PDF 签名器。请注意,在创建 factoryCreator 对象之前,我们添加了 BouncyCastleProvider,这是一个安全提供程序,可以提供 BouncyCastle 加密算法的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值