是否有一种方法可以使PDFSharp中的安全设置在受限于FIPS兼容算法的环境中工作?

问题描述 投票:2回答:1

我正在将PDFSharp与C#MVC3应用程序结合使用以生成PDF以完成调查。一切运行良好,直到我们最近迁移到启用了设置“ 系统加密:使用FIPS兼容算法进行加密,哈希和签名”的Windows Server 2008环境。

有人在这种类型的环境中找到了继续在PDF上设置安全设置的方​​法吗?这是安全设置代码块,如果我删除所有代码,它们将起作用:

PdfSecuritySettings securitySettings = pdfDocument.SecuritySettings;
securitySettings.OwnerPassword = "owner";

// Restrict some rights.
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = false;
securitySettings.PermitModifyDocument = false;
securitySettings.PermitPrint = true;
securitySettings.PermitFullQualityPrint = true;

有什么想法吗?我当时在考虑撤消PDFSharp源文件,并查看是否可以使用其他算法,因为我认为问题出在MD5CryptoServiceProvider。

c# asp.net-mvc-3 windows-server-2008 pdfsharp
1个回答
0
投票
https://github.com/empira/PDFsharp/pull/115

仅用SHA1CryptoServiceProvider替换MD5CryptoServiceProvider,完全为我解决了该问题。我用这些更改编译了dll,它们在将“系统加密:使用FIPS兼容算法进行加密,散列和签名”设置为“启用”的机器上像魅力一样工作。

如果他们不合并我的PR,您也可以从我的分支从源代码构建它。https://github.com/jaredglaser/PDFsharp/tree/FIPSCompliant

© www.soinside.com 2019 - 2024. All rights reserved.