是否有实用的方法来确定使用哪些JCE加密提供程序?

时间:2011-05-23 18:53:49

标签: java cryptography rsa provider jce

我们已将Java产品配置为仅使用经过FIPS验证的RSA JCE加密提供程序。但是,当在java.security中列出RSA库时,该产品将无法运行。因此,有些事情要求来自其他提供商的非FIPS算法。

通过消除过程,我们可以判断哪些罐子是成功操作所必需的,但这并不能告诉我们正在请求哪些算法,或者由谁来执行。

这似乎是一个经常被问到的问题,但显然我们没有偶然发现正确的文档或Google搜索字符串:是否有任何可靠,方便且一致的机制来确定哪些JCE提供程序正在使用运行JVM实例?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我建议您实现自己的ClassLoader,并让它记录调试信息。

尽管如此,我不确定是否会让你知道每个加载FooJCEProvider的类,而不仅仅是第一个加载FooJCEProvider的类。

或者,您是否尝试过使用jconsole? “类加载MBean还具有Verbose属性,可以设置为启用或禁用类加载详细跟踪”

答案 2 :(得分:1)

正如布鲁诺所说,你可以遍历所有提供者。

在运行时,您可以使用getProvider方法检查您的密码使用的提供商。

答案 3 :(得分:0)

System.setProperty("javax.net.debug","all")会给你一些有用的东西吗?