我正在尝试使用充气城堡 v1.7在 Windows Mobile 6.5 设备上。
我正在尝试执行以下代码:
ISigner signer = SignerUtilities.GetSigner("SHA256withRSA");
使用 Bouncy Castle 二进制文件
在 Windows Mobile 设备上,代码会导致引发以下异常:
“此版本的 Microsoft .NET Compact Framework 无法加载程序集 System 的版本,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=B77A5C561934E089。”
在经典的桌面应用程序(使用整个 .NET 框架)上,此代码运行没有问题。
所以我猜测 Bouncy Castle 和 Compact Framework 之间存在不兼容性。
但是,那Bouncy Castle C# 索引页 says “源代码现在基于 .NET Compact Framework 1.0 构建” 对于版本 1.2
从源代码编译 Bouncy Castle
我还尝试从源代码编译 Bouncy Castle。
我使用 Visual Studio 2008 对其进行了编译(必须转换项目并删除链接到 IDEA 加密算法(已引用但缺失)的类),并使用以下编译符号:NET_1_1;NETCF_2_0
当我引用编译生成的 DLL 并运行上述代码(在设备上)时,出现以下异常:
“找不到方法:GetSigner Org.BouncyCastle.Security.SignerUtilities。”
这看起来真的很奇怪,因为我在编码时在 Visual Studio 中获得了 IntelliSense。
有人可以告诉我如何让 Bouncy Castle 在 Compact Framework 3.5 上运行吗?
多谢,
克里斯托夫
我创建了所需的文件并将 SLN/CSPROJ 文件放在我的博客上。我创建了一个非常简单的测试应用程序,它成功创建了 ISigner 实现实例。这是我的消费者代码:
class Program
{
static void Main(string[] args)
{
ISigner signer = SignerUtilities.GetSigner("SHA256withRSA");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)