Asp.net mvc 4 寻找FIPS兼容错误的解决方法
目前我所在的团队正在进行两个环境的服务器迁移(都有一个DB和Web服务器)。我们正在从Windows Server 2008R2迁移到Windows Server 2016。这些都是全新的例子 我们完成了一个环境,并开始对托管在两台服务器上的站点进行测试(一个是测试环境,一个是生产环境)。除了测试环境中的一个例外,所有功能都按预期运行 我们托管的站点是一个自定义的.Net应用程序,使用MVC4和C#构建。它还有一个到IBMCognos应用程序的链接,用于报告目的 在测试中,我对.Net应用程序的一个方面有点担心。此应用程序是站点的较旧部分,它根据Access DB中的数据生成PDF文件 应用程序最终抛出以下错误:“错误:此实现不是Windows平台FIPS验证的加密算法的一部分。”。应用程序引发错误时,没有记录其他详细信息 我以前在本地开发环境中见过这个错误。我当时是如何处理它的,将Windows注册表项更改为以下内容:Asp.net mvc 4 寻找FIPS兼容错误的解决方法,asp.net-mvc-4,windows-server-2016,fips,Asp.net Mvc 4,Windows Server 2016,Fips,目前我所在的团队正在进行两个环境的服务器迁移(都有一个DB和Web服务器)。我们正在从Windows Server 2008R2迁移到Windows Server 2016。这些都是全新的例子 我们完成了一个环境,并开始对托管在两台服务器上的站点进行测试(一个是测试环境,一个是生产环境)。除了测试环境中的一个例外,所有功能都按预期运行 我们托管的站点是一个自定义的.Net应用程序,使用MVC4和C#构建。它还有一个到IBMCognos应用程序的链接,用于报告目的 在测试中,我对.Net应用程序的
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
...
</system.web>
<configuration>
<runtime>
<enforceFIPSPolicy enabled = "false" />
</runtime>
</configuration>
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy Enabled=0
然而,在我们的测试环境以及生产环境中,这是不可能的。我们需要保持Enabled=1
我们的2008R2服务器对此没有问题,但2016服务器不喜欢它。现在,我已经在web.config中添加了一个条目来允许它,但没有效果。它是以下各项的输入:
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
...
</system.web>
<configuration>
<runtime>
<enforceFIPSPolicy enabled = "false" />
</runtime>
</configuration>
...
我还使用以下内容修改了MSBuild.exe.config文件:
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
...
</system.web>
<configuration>
<runtime>
<enforceFIPSPolicy enabled = "false" />
</runtime>
</configuration>
这两个变化最终都没有改变。在这一点上,我画了一个空白。有没有办法禁用应用程序的FIPS?我终于找到了解决方案。引发错误的代码围绕着iTextSharp的使用展开。我们的版本比较旧,并且因为抛出我上面提到的错误而臭名昭著,因为它不符合FIPS 快速简便的解决方案很简单:将iTextSharp的版本升级到下一个符合FIPS的版本
虽然这是可行的,但我们将重写使用此代码的模块,在那里我们将完全替换iTextSharp(目前已停止)。我终于找到了解决方案。引发错误的代码围绕着iTextSharp的使用展开。我们的版本比较旧,并且因为抛出我上面提到的错误而臭名昭著,因为它不符合FIPS 快速简便的解决方案很简单:将iTextSharp的版本升级到下一个符合FIPS的版本 虽然这是可行的,但我们将重写使用此代码的模块,我们将完全替换iTextSharp(目前已停止)