zoukankan      html  css  js  c++  java
  • 系统禁用执行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_MACHINESYSTEMCurrentControlSetControlLsaFipsAlgorithmPolicy,将Enabled的值改为0

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

     方法二

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

    <runtime>
    <enforceFIPSPolicy enabled="false"/>
    </runtime>
    

      

     建议

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

     结尾
    希望我的这篇文字能帮助遇到同样问题的你。


    如果有错误的地方,还望各位多多指点
    写个博客,来记录自己成长的一些经历,或许也能顺便帮助他人。
  • 相关阅读:
    左边的div导航根据右部div内容的高自动调整
    IE中在a标签里的图片会显示边框
    MVC4中视图获取控制器中返回的json格式数据
    Oracle 分页
    各个数据库中top 的表示方法
    AndroidPageObjectTest_TimeOutManagement.java
    AndroidSlideTest.java
    区分:AndroidDriver, iOSDriver, AppiumDriver and Remote WebDriver
    区分:WebElement, MobileElement, AndroidElement, and iosElement
    AndroidTest.java
  • 原文地址:https://www.cnblogs.com/Katakana/p/10246708.html
Copyright © 2011-2022 走看看