c# - 如何使用 IKVM 静态注册加密提供商?

标签 c# java cryptography jvm ikvm

在 Java 中,可以注册一个安全提供程序,如 BouncyCastle通过编辑 JRE 或 JDK 的安全策略文件来静态,或者通过以编程方式添加提供程序来动态

当使用 IKVM 将像 BouncyCaSTLe 这样的 java 安全提供程序转换为 C# 可调用 dll 时通过添加对 IKVM.OpenJDK.CoreIKVM.OpenJDK.Security 的引用,可以继续通过 dll 使用 BouncyCaSTLe,然后使用以下 C# 代码。

java.security.Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

我知道 BouncyCaSTLe 的源代码已经以 C# 的形式提供。但是,我需要的是将我自己用 Java 编写的加密库转换为可在 C# 中使用,因此我需要使用 IKVM为达到这个。我已经可以通过将我的加密库从 jar 转换为 dll 并使用如上所述的动态方法来做到这一点。

只是想知道是否可以使用 IKVM 静态注册提供者就像在Java中一样。有什么想法吗?

最佳答案

有同样的问题,找不到静态的方法。最终重新编译整个 IKVM 项目以使 BouncyCaSTLe 提供程序工作。 -下载IKVM源码工程(https://sourceforge.net/projects/ikvm/files/ikvm/7.2.4630.5/ikvmsrc-7.2.4630.5.zip/download) -项目内部有一个 HOWTO 文件,其中包含编译说明。第一步说“这个 IKVM.NET 源包需要 OpenJDK 7u6 b24 源(和构建工件)”,所以你可以手动编辑 OpenJDK 中的“lib/security/java.security”并添加 security.provider.XX =org.bouncycaSTLe.jce.provider.BouncyCaSTLeProvider,然后按照其余步骤重新编译项目。

关于c# - 如何使用 IKVM 静态注册加密提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11437908/

相关文章:

c# - 使用 protobuf-net 序列化基类属性

java - Hopcroft 算法 - DFA 最小化

java - 用于MapR/Hadoop/Hive的类路径

encryption - 为什么使用 3DES 和 Blowfish 而不是 AES

java - 从 RSA 编码的 AES key 生成 AES key

c# - 为什么 Visual Studio 2010 的 Crystal Reports 不能在 Windows XP 上运行?

c# - 比较两个 ms sql 表是否相同的最快方法

java - 使用 Hibernate 时出现 "java.lang.ClassCastException"错误 (5.4.12)

cryptography - RSA算法计算器

c# - 使用特定的 Langdriver 在 .Net 中编写 Paradox 表