我使用以下代码测试BouncyCastle加密库:
import java.security.Security;
public class SimpleTest {
public static void main(String[] args)
{
String providerName="BC";
if (Security.getProvider(providerName)==null)
{
System.out.println(providerName + "provider not installed");
}
else
{
System.out.println(providerName + "is installed");
}
}
}
但是,Eclipse显示“未安装BCprovider”,我的EditPlus显示“BC已安装”。
是什么造成了这种差异?
答案 0 :(得分:0)
在你的日食中有一个库找不到它找不到它。您需要在eclipse中修改配置。
答案 1 :(得分:0)
区别? 我猜不同的java运行时可能会有不同的错误消息。
恕我直言,除非您检查基础JRE是相同的,否则Eclipse和texteditor之间不同,但在Java SE 7u7和Java SE 6u35之间(例如)。
无论如何,这不是你的实际问题,而是在你的类路径中有效地部署提供者jar并注册它。
答案 2 :(得分:0)
实际上差异很可能出现在Java的static security provider configuration中。您需要以某种方式注册提供商才能使用它们。如果您无法更改Java运行时,如果已正确签名,则可以register them dynamically 。