Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 配置Oracle JDK以使用IBM JCE/JSSE提供程序实现FIPS遵从性_Java_Jce_Jsse_Fips - Fatal编程技术网

Java 配置Oracle JDK以使用IBM JCE/JSSE提供程序实现FIPS遵从性

Java 配置Oracle JDK以使用IBM JCE/JSSE提供程序实现FIPS遵从性,java,jce,jsse,fips,Java,Jce,Jsse,Fips,我想将OracleJDK配置为使用IBM的符合FIPS的JCE/JSSE安全提供程序。我需要什么JAR文件,它们应该安装在哪里?java.security文件中的提供者列表应该是什么样的?这是一篇老文章,但无论如何… IBM JVM在配置为使用IBMJCEPS提供程序时符合FIPS。 但这仅适用于IBM Java。 不要把罐子放在太阳JDK里。 对于SUN,您应该使用同样符合FIPS的项目根据这一点,FIPS批准的提供商仅可与IBM SDK一起使用 另一个线索(因为我第一次想到Solaris上的

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

这是一篇老文章,但无论如何…
IBM JVM在配置为使用IBMJCEPS提供程序时符合FIPS。
但这仅适用于IBM Java。
不要把罐子放在太阳JDK里。
对于SUN,您应该使用同样符合FIPS的项目

根据这一点,FIPS批准的提供商仅可与IBM SDK一起使用

另一个线索(因为我第一次想到Solaris上的WebSphere在Oracle JVM上运行):在一份说明中明确指出

FIPS法规遵从性仅在IBM SDK上受支持


事实上,在Solaris平台上,IBM SDK构建在Sun/Oracle JVM上,但具有(ORB和安全性…。

我在Sun jdk5上使用IBMJCE,它工作正常。我想这可能类似于fips

您需要ibmjceprovider.jar、ibmpkcs.jar、ibmjcefips.jar

您可以在IBMJRE中找到它们

代码是这样的

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;
}

我很确定这将是不兼容的配置(例如未测试)。这说明了如何在IBM的JDK上启用它们,但没有说明如何在非IBM SDK上实现这一点。