频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
系统禁用执行FIPS政策导致程序发生“调用的目标发生了异常”
2019-01-10 09:25:04         来源:Katakana  
收藏   我要投稿

系统禁用执行FIPS政策导致程序发生“调用的目标发生了异常”

工具是使用AES-256-CBC加密算法

问题

最近有客户反映, 在使用我们工具时候,会出现“调用的目标发生了异常”错误, 接到反馈之后, 我们进行了很多测试,甚至得到客户系统信息和framework版本, 但是都没有得到复现。测试,debug,log打印各种尝试,无果。

**报错信息显示:**

导致错误信息 : 调用的目标发生了异常。

导致错误的方法 :System.RuntimeMethodHandle.InvokeMethod

在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

在 System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

在 System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args)

在 System.Security.Cryptography.Rijndael.Create()

在 命名空间.类名..ctor(CryptType type, String key, String Iv)

原因

最后在Q群里一位大哥(在此非常感谢),给了微软的相关信息链接, 在链接的解决方法处提到

使用的加密算法不符合联邦信息处理标准(FIPS)。在组策略中启用了Windows安全选项“系统加密”

原来不是软件的锅, 电脑配置导致:系统的组策略安全设置导致无法使用此算法。

解决办法

方法一

按Win+R(或点击开始-运行),并输入regedit后确定,启动注册表编辑器。

浏览到计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy,将Enabled的值改为0

关闭注册表编辑器后,重新打开软件。

方法二

在config文件中配置文件根目录下添加, 在运行时禁用执行FIPS政策

建议

由于用户的不确定性,因为你不知道用户对电脑的了解程度, 且修改注册表是件很危险的事儿, 建议使用方法二

点击复制链接 与好友分享!回本站首页
上一篇:ACM入门之OJ实例
下一篇:Expression解析
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站