我想将Oracle JDK配置为使用IBM的符合FIPS标准的JCE / JSSE安全提供程序。我需要哪些JAR文件以及它们应该安装在何处? java.security
文件中的提供者列表应该是什么样的?
答案 0 :(得分: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;
}
答案 1 :(得分:3)
这是一个老帖子,但无论如何......
在配置IBM JVMFIPS提供程序时,IBM JVM符合FIPS标准
这仅适用于IBM Java
不要将罐子放在SUN JDK中
对于SUN,您应该使用符合FIPS标准的NSS项目
答案 2 :(得分:1)
根据此IBM document,FIPS认可的提供商仅适用于IBM SDK。
另一条线索(因为我首先认为Solaris上的WebSphere运行在Oracle JVM上):在WebSphere MQ requirements on Solaris中,一条说明明确指出
仅IBM SDK支持FIPS合规性
事实上,在Solaris平台上,IBM SDK构建在Sun / Oracle JVM上,但具有many changes(ORB和安全性......)。