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.