java encryption websphere-6.1

java - WAS 6.1 El proveedor IBMJCE generĂ³ una firma sha256 withrsa incorrecta



encryption websphere-6.1 (2)

¿Hay realmente un problema? Por lo que sé, esto debe aplicarse.

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

No hay ningún requisito de que todas las firmas deben ser iguales. Entonces, ¿realmente tiene problemas con la verificación de esas firmas?

Estamos generando una firma digital (PKCS7) utilizando la API de seguridad de Java. El algoritmo de resumen es SHA-256 y el algoritmo de cifrado es RSA (SHA256withRSA).

Al utilizar el proveedor SunRsaSign en la máquina local, se generó una firma en algunos contenidos. Al utilizar el proveedor de IBMJCE en WAS 8.0.0.2, pudimos generar la misma firma en el mismo contenido.

Sin embargo, el problema es que tuvimos que volver a migrar a WAS 6.1. Ahora, la firma generada es diferente de la generada en los 2 casos anteriores. Revisé los resúmenes de mensajes creados en los 3 casos, y es el mismo en los 3 casos, pero la firma es diferente en el caso de WAS 6.1.

¿Hay algún problema conocido con el proveedor IBMJCE de WAS 6.1 con respecto al cifrado SHA256withRSA? Cualquier puntero sería muy apreciado. Gracias


Tuvimos el mismo problema y forzamos a Webspshere a usar SUNJCE. Aquí están los pasos.

Entonces, en la consola de IBM Websphere, vaya a Servidores de aplicaciones> servidor> Definición de proceso> Máquina virtual Java

Busque argumentos JVM genéricos y agregue lo siguiente.

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

Luego copiado

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

A

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

Cambio

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

Agregando los siguientes proveedores de Sun a la lista de proveedores en el archivo 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

Espero que esto ayude.