WAS 6.1 IBMJCE提供程序生成错误的sha256withrsa签名

时间:2013-04-11 10:04:37

标签: java encryption websphere-6.1

我们正在使用Java安全API生成数字签名(PKCS7)。摘要算法为SHA-256,加密算法为RSA(SHA256withRSA)。

在本地计算机中使用SunRsaSign提供程序,在某些内容上生成了签名。 在WAS 8.0.0.2中使用IBMJCE提供程序,我们能够在相同的内容上生成相同的签名。

然而,问题是,我们不得不迁移回WAS 6.1。现在,生成的签名与上述2个生成的签名不同。我检查了所有3个案例中创建的消息摘要,并且在所有3个案例中都是相同的,但是在WAS 6.1的情况下签名是不同的。

WAS 6.1的IBMJCE提供商在SHA256withRSA加密方面是否存在任何已知问题?任何指针都将非常感激。感谢

2 个答案:

答案 0 :(得分:1)

真的有问题吗?据我所知,这必须适用

signature = sign(message)  
verify(signature) == message  

不要求所有签名必须相同。那么这些签名的验证真的有问题吗?

答案 1 :(得分:0)

我们遇到了同样的问题,我们强迫Webspshere使用SUNJCE。以下是步骤。

所以在IBM Websphere控制台中转到 应用程序服务器&gt;服务器&gt; <处理定义> Java虚拟机

查找Generic JVM参数并添加以下内容。

-DamCryptoDescriptor.provider=SunJCE -DamKeyGenDescriptor.provider=SunJCE

然后复制

C:\JAVA\jdk1.6.0_34\jre\lib\ext\sunjce_provider.jar  

C:\Program Files\IBM\SDP\runtimes\base_v7\java\jre\lib\ext\sunjce_provider.jar  

更改

C:\Program Files\IBM\SDP\runtimes\base_v7\java\jre\lib\security\java.security

将以下Sun提供程序添加到java.security文件中的提供程序列表中。

#This will help Websphere to load 
security.provider.13=com.sun.crypto.provider.SunJCE
security.provider.14=sun.security.provider.Sun
security.provider.15=sun.security.rsa.SunRsaSign
security.provider.16=sun.security.jgss.SunProvider

希望这有帮助。

相关问题