java - JsafeJCE 对 KeyManagerFactory 支持的算法有哪些?

标签 java ssl rsa jce

在我们的项目中,我们需要通过 SSL 与第三方服务器通信。 之前我们使用 RSA 的 sslJ 提供程序 com.rsa.jsse.JsseProvider,但由于其中的一些问题,现在我们不得不使用 Sun 的 SSL 提供程序 com.sun.net.ssl。 internal.ssl.Provider 并且我们需要使用 RSA 的加密提供程序“JsafeJCE”以符合 FIPS。

我在使用 JsafeJCE 提供程序创建 KeyManagerFactory 时遇到问题。

KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("PKCS12",
    "JsafeJCE");

以下是我得到的异常

Exception in thread "main" java.security.NoSuchAlgorithmException: no such algorithm: PKCS12 for provider JsafeJCE

谁能告诉我 JsafeJCE 支持的 KeyManagerFactory 算法?

最佳答案

我假设您已经正确安装了 RSA JsseProvider 和 JsafeJCE。

PKCS12KeyStore 类型,而不是 KeyManager 类型。创建 PKCS12 类型的 KeyManagerFactory 没有意义,也许您的意思是 KeyStore.getInstance("PKCS12", "JsafeJCE") .

否则,如果您在 KeyManagerFactory 之后,它是一个 JSSE 类,而不是 JCE 类,因此它需要一个 JSSE 提供者,而不是 JCE 提供者。 provider name for the RSA JsseProvider是“RsaJsse”,而不是“JsafeJCE”(尽管它将在幕后使用该 JCE 提供程序,请参阅 this note)。

Can someone please tell me the algorithms supported by JsafeJCE for KeyManagerFactory?

根据documentation支持的 KMF 名称应该是 "X509" , 尽管一些别名也是有效的。

关于java - JsafeJCE 对 KeyManagerFactory 支持的算法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568400/

相关文章:

Android 安全/加密套接字

java - Android 和 Java 中的 RSA 加密

c++ - 将 C++ builder 6 项目转换为 C++ builder 2010

java - jsf 和 Controller 、bean

java - 为基于值的类预先计算 hashCode?

java - android lollipop 上 sslsocket 中的 OutputStream 问题

java - 如何在 Windows Server 环境中获得与 Jenkins 一起使用的第三方 SSL 证书?

Java rsa解密模式行为

java - 使用 new Date(aDate.getTime() + aTime.getTime()) 创建 Java 日期时忽略夏令时

java - 未找到命令 'web mvc all --package ~.web'