Tag: libsodium

Libsodium-net – 无法加载DLL’libsodium.dll

我通过NuGet安装了Libsodium-net,并且可以在我的课程中包含Sodium,但是当我尝试运行它时,我得到了 Sodium.dll中出现“System.DllNotFoundException”类型的exception,但未在用户代码中处理 附加信息:无法加载DLL’libsodium.dll’:找不到指定的模块。 (HRESULTexception:0x8007007E) 我只是想从gitbooks文档中运行示例代码https://bitbeans.gitbooks.io/libsodium-net/content/password_hashing/index.html const string PASSWORD = “Correct Horse Battery Staple”; const string SALT = “qa~t](84z<1t<1oz:ik.@IRNyhG=8q(o"; const long OUTPUT_LENGTH = 512; //this will produce a 512 byte hash var hash = PasswordHash.ScryptHashBinary(PASSWORD, SALT, PasswordHash.Strength.Medium, OUTPUT_LENGTH);

在生产Azure Service Fabric群集中找不到libsodium-64.dll

使用libsodium-net在Azure Service Fabric Reliable Service中实现其所有安全性,在我的本地开发群集上一切正常(尽管我必须将libsodium-64.dll设置为复制到输出目录)。 不幸的是,当部署到Azure中的真实集群时,它会抛出以下错误: Unable to load DLL ‘libsodium-64.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E) 我已通过远程桌面检查到其中一个节点,并将DLL复制到与服务相同的目录中,就像在我的开发群集中一样。 无法解决为什么在生产中找不到它。 我已经尝试按照这个答案中的建议设置PATH环境变量,并validation它实际上已经设置 – 不幸的是,这没有帮助。 为了让ASF拿起DLL,我需要做些什么特别的事情吗? 编辑:还尝试在所有节点上将DLL添加到System32,也没有解决它。

如何在ASP.NET上包含libsodium.net

我有一个基于ASP.NET(使用.asmx)文件的旧web服务构建。 我需要使用sodium.net – 不幸的是它在加载依赖的libsodium.dll文件时失败了。 关于我犯错的任何想法? 我通过NuGet添加了libsodium.net。 我已将64位DLL重命名为“libsodium.dll”(以及其他命名约定)。 我试图直接引用libsodium.dll,但VS拒绝它(不是有效的DLL)。 所以我把它添加为“内容”而不是“复制到输出”。 构建后,我可以看到网站/ Bin文件夹包含sodium.dll(.NET程序集)和libsodium.net。 当我尝试使用libsodium.net时,我得到: ERROR 2015-02-02 11:14:27,118 13798ms [41] CabinetService doRequest – Caught:’Sodium.SodiumCore’的类型初始化程序引发exception。 System.TypeInitializationException:’Sodium.SodiumCore’的类型初始值设定项引发了exception。 —> System.DllNotFoundException:无法加载DLL’libsodium.dll’:找不到指定的模块。 (来自HRESULT的exception:0x8007007E)位于Sodium.SodiumCore..cctor()的DynamicDllInvokeType.sodium_init()—内部exception堆栈跟踪的结束—位于Sodium.SSecretBox.Create(字节)处的Sodium.SodiumCore.LibraryName() []消息,Byte [] nonce,Byte []键)在Macaroons.SecretBoxCryptoAlgorithm.Encrypt(Byte []键,Byte [] plainText)中的c:\ Projects \ Macaroons.Net \ Macaroons.Net \ SecretBoxCryptoAlgorithm.cs:line 58 所以它找不到“libsodium.dll”,即使它在Bin文件夹中。 我也尝试删除对“sodium.net”的依赖,在我收到运行时错误后说“sodium.net”丢失了 – 当我重新添加它时,该错误消失了,我得到了上面的那个(表示“sodium.net”正确加载)。 所以我在“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET […]