配置Oracle JDK以使用IBM JCE / JSSE提供程序来实现FIPS合规性

时间:2011-04-15 14:28:45

标签: java jce jsse fips

我想将Oracle JDK配置为使用IBM的符合FIPS标准的JCE / JSSE安全提供程序。我需要哪些JAR文件以及它们应该安装在何处? java.security文件中的提供者列表应该是什么样的?

3 个答案:

答案 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和安全性......)。