工具是使用AES-256-CBC加密演算法 問題 最近有客戶反映, 在使用我們工具時候,會出現“調用的目標發生了異常”錯誤, 接到反饋之後, 我們進行了很多測試,甚至得到客戶系統信息和framework版本, 但是都沒有得到復現。測試,debug,log列印各種嘗試,無果。 **報錯信息顯示:** 原 ...
工具是使用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政策
<runtime> <enforceFIPSPolicy enabled="false"/> </runtime>
建議
由於用戶的不確定性,因為你不知道用戶對電腦的瞭解程度, 且修改註冊表是件很危險的事兒, 建議使用方法二
結尾
希望我的這篇文字能幫助遇到同樣問題的你。