配置Oracle JDK以使用IBM JCE / JSSE提供程序以符合FIPS要求

问题描述

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

解决方法

我在sun jdk5上使用IBMJCE,它工作正常。我想这可能类似于菲普斯 您需要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;
}
    ,这是一个旧帖子,但无论如何... 将IBM JVM配置为使用IBMJCEFIPS提供程序时,它符合FIPS。 但是,这仅适用于IBM Java。 不要将罐子放在SUN JDK中。 对于SUN,您应该使用同样符合FIPS的NSS项目     ,根据此IBM文档,FIPS认可的提供程序仅可用于IBM SDK。 另一个提示(因为我最初认为Solaris上的WebSphere运行在Oracle JVM上):在Solaris上的WebSphere MQ要求中,有一条注释清楚地指出:   仅IBM SDK支持FIPS合规性 实际上,在Solaris平台上,IBM SDK是基于Sun / Oracle JVM构建的,但是有很多更改(ORB和安全性...)。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...