我想将 Oracle JDK 配置为使用 IBM 的符合 FIPS 的 JCE/JSSE 安全提供程序。我需要哪些 JAR 文件以及它们应该安装在哪里?文件中的提供者列表应该是什么java.security
样的?
问问题
6769 次
3 回答
4
我在 sun jdk5 上使用 IBMJCE,它工作正常。我猜它可能类似于fips
您需要 ibmjceprovider.jar、ibmpkcs.jar、ibmjcefips.jar
您可以在 ibm jre 中找到它们
像这样的代码
static{
//install ibm's provider
java.security.Security.addProvider(new IBMJCE());
}
public byte[] encrypt(byte[] input)throws SecurityException{
KeyGenerator kg = KeyGenerator.getInstance("DES");
//call ibm's provider
SecureRandom sr = SecureRandom.getInstance("IBMSecureRandom", new IBMJCE());
sr.setSeed(str.getBytes());
kg.init(sr);
Key key = kg.generateKey();
Cipher cipher = Cipher.getInstance("DES");
cipher.init(1, key);
byte[] ret = cipher.doFinal(input);
return ret;
}
于 2013-08-07T02:17:46.660 回答
3
这是一篇旧文章,但无论如何...
IBM JVM 在配置它以使用 IBMJCEFIPS 提供程序时符合 FIPS。
不过,这仅适用于 IBM Java。
不要将罐子放在 SUN JDK 中。
对于 SUN,您应该使用也符合 FIPS的NSS项目
于 2011-09-10T07:27:33.883 回答
1
根据此IBM 文档,FIPS 批准的提供程序仅适用于 IBM SDK。
另一个线索(因为我首先认为 Solaris 上的 WebSphere 在 Oracle JVM 上运行):在Solaris 上的 WebSphere MQ 要求中,一个注释清楚地指出
仅 IBM SDK 支持 FIPS 合规性
事实上,在 Solaris 平台上,IBM SDK 是在 Sun/Oracle JVM 上构建的,但有很多变化(ORB 和安全性......)。
于 2012-10-17T09:27:16.843 回答