我有一个从旧系统导入的项目。这段代码变得最有问题
PacketGroup = new ArrayList();
Crypto = new GameCrypto(ASCIIEncoding.ASCII.GetBytes(STRING_CRYPTO));
KeyExchance = new OpenSSL.Crypto.DH();
KeyExchance.G = RANDOM_INT;
KeyExchance.P = OpenSSL.Core.BigNumber.FromHexString("KEY__KEY_KEY\0");
KeyExchance.GenerateKeys();
NewServerIV = GenerateIV();
NewClientIV = GenerateIV();
起初我收到错误:
System.TypeInitializationException:“OpenSSL.Native”的类型初始化程序引发异常。---> System.Exception: 无效的 libeay32.dll 版本,期望 0.9.8a 开发,得到:1.0.0 版本
我在项目中导入了最新的 SSL 库并收到此错误(在 Crypto = new GameCrypto() 行上)
System.DllNotFoundException:无法加载 DLL 'libeay32.dll':应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息。(来自 HRESULT 的异常:0x800736B1)
在 PROJECT_NAME.Native.BF_set_key(IntPtr _key, Int32 len, Byte[] data) 在 PROJECT_NAME.Main.Blowfish.SetKey(Byte[] data) 在 PATH\Main\Blowfish.cs:PROJECT_NAME.Main.GameCrypto 的第 85 行。 PATH\Main\Blowfish.cs: 15 行中的 .ctor(Byte[] key) PROJECT_NAME.Main.GameClient..ctor(Boolean Robot) 在 PATH\Main\GameClient.cs:line 48
我能够解决这个问题,但我陷入了这个问题(在新的 OpenSSL.Crypto.DH() 线上)
System.TypeInitializationException:“OpenSSL.Core.Native”的类型初始化程序引发了异常。---> System.DllNotFoundException: Unable to load DLL 'ssleay32': The operating system cannot run 。(来自 HRESULT 的异常:0x800700B6)
在 OpenSSL.Core.Native.SSL_library_init() 在 OpenSSL.Core.Native..cctor() --- 内部异常堆栈跟踪结束 --- 在 OpenSSL.Core.Native.DH_new() 在 OpenSSL.Crypto.DH。 PATH\Main\GameClient.cs:line 49 System.NullReferenceException 中 PROJECT_NAME.Main.GameClient..ctor(Boolean Robot) 的 .ctor():对象引用未设置为对象的实例。在 PATH\Main\GameWorker.cs:line 33 中的 PROJECT_NAME.Main.GameWorker.ConnectionHandler(StateObj S)