Java 配置Oracle JDK以使用IBM JCE/JSSE提供程序实现FIPS遵从性
我想将OracleJDK配置为使用IBM的符合FIPS的JCE/JSSE安全提供程序。我需要什么JAR文件,它们应该安装在哪里?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上的
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上实现这一点。