4

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

4

3 回答 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 回答