【发布时间】:2013-10-31 16:04:59
【问题描述】:
我正在使用充气城堡实现椭圆曲线 Diffie Hellman。我正在使用bcprov-jdk15on-149.jar。但是
java.security.NoSuchProviderException:JCE 无法验证 提供者 BC
抛出异常。它发生在以下行KeyAgreement.getInstance("ECDHC", "BC");
KeyAgreement aKeyAgree = null;
try {
//exception occur here
aKeyAgree = KeyAgreement.getInstance("ECDHC", "BC");
}
例外是
java.security.NoSuchProviderException:JCE 无法验证 提供者 BC 在 javax.crypto.JceSecurity.getInstance(JceSecurity.java:101) 在 javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:223)
我将 Bouncy castle 提供程序添加到 JRE 中的 java.security 文件中。但这并没有帮助。我想知道这种情况的解决方案。
此外,此问题仅发生在小服务程序中。我用一个 J2SE 项目进行了测试,代码运行良好。仅当我将其放入服务小程序时才会引发异常。
【问题讨论】:
-
jre 没有选择 BouncyCastle 提供商。尝试使用 Security.addProvider(new BouncyCastleProvider()); 手动添加它;
-
它已经在我的代码中了。
-
你用的是什么jre版本?
-
@user1516873 它的 jre 1.7
标签: java diffie-hellman