Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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 在IBM SDK上使用Sun JCE提供程序_Java_Api_Cryptography_Jce - Fatal编程技术网

Java 在IBM SDK上使用Sun JCE提供程序

Java 在IBM SDK上使用Sun JCE提供程序,java,api,cryptography,jce,Java,Api,Cryptography,Jce,我需要在IBM Websphere上运行的应用程序中使用Sun JCE provider。这可以通过指定security_provider.1=com.sun.crypto.provider.SunJCE来实现。 我的应用程序的某些部分使用IBM的SSL设施 我想知道配置SunJCE提供程序是否会影响应用程序其他部分中JSSE提供程序的使用 我想问的另一个问题是,是否有任何方法可以继续使用IBMJDK默认值(JCE

我需要在IBM Websphere上运行的应用程序中使用Sun JCE provider。这可以通过指定security_provider.1=com.sun.crypto.provider.SunJCE来实现。 我的应用程序的某些部分使用IBM的SSL设施

我想知道配置SunJCE提供程序是否会影响应用程序其他部分中JSSE提供程序的使用

我想问的另一个问题是,是否有任何方法可以继续使用IBMJDK默认值(JCE
请让我知道哪种方法是最好的。

要指定安全提供商,您应该按照您所说的操作:

Cipher cip = Cipher.getInstance("DES","Sun")
但是Sun提供商的名字是“SunJCE”,IBM的名字是“IBMJCE”。您也可以将第三方提供者用作BouncyCastle。您应该处理“ProviderNotFound”异常

这将使用Sun实现:

Cipher cip = Cipher.getInstance("DES","SunJCE")
Cipher cip = Cipher.getInstance("DES","IBMJCE")
这将使用IBM实现:

Cipher cip = Cipher.getInstance("DES","SunJCE")
Cipher cip = Cipher.getInstance("DES","IBMJCE")
如果您正在使用IBM SDK,这将执行相同的操作:

Cipher cip = Cipher.getInstance("DES")

顺便说一句,如果您安装(编辑安全SDK文件)Sun提供程序作为最后一个提供程序,这不会以任何方式影响您的应用程序,因为当您查找算法时,JCE API将查找第一个提供程序实例,然后查找第二个,依此类推(当它创建算法时,它将停止)

谢谢你的回复。事实上,我也采用了同样的方法,并且在相当长的一段时间内效果良好。