Java 在IBM SDK上使用Sun JCE提供程序
我需要在IBM Websphere上运行的应用程序中使用Sun JCE provider。这可以通过指定security_provider.1=com.sun.crypto.provider.SunJCE来实现。 我的应用程序的某些部分使用IBM的SSL设施 我想知道配置SunJCE提供程序是否会影响应用程序其他部分中JSSE提供程序的使用 我想问的另一个问题是,是否有任何方法可以继续使用IBMJDK默认值(JCEJava 在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
请让我知道哪种方法是最好的。要指定安全提供商,您应该按照您所说的操作:
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将查找第一个提供程序实例,然后查找第二个,依此类推(当它创建算法时,它将停止) 谢谢你的回复。事实上,我也采用了同样的方法,并且在相当长的一段时间内效果良好。