jueves, diciembre 06, 2007

Java 1.4, los certificados, y la p...

Ayer estuve una hora tratando de que la herramienta keytool de java 1.4 importe un certificado. Sí, ya sé que esa versión es obsoleta, pero en este caso no hay otra opción. El tema es que luego de miles de pruebas no había forma de que reconociera el certificado como X.509 (aunque realmente fuera así).

Pues bien, importé el certificado en Java 1.5 y ningún drama, entonces armé un nuevo certificado de prueba con una clave de menor longitud y... bingo! la versión 1.4.2 no acepta longitudes de clave mayores a 2048, como era de esperarse debido a restricciones de exportación.

Pero yo quiero mi certificado con clave de 4096 bits! Googleando un poco encontré un hermoso documento donde unos buenos muchachos rusos explican cómo habilitar la utilización de claves de mayor longitud.

Para ello:
  1. Suponiendo que el JRE se encuentra en /usr/lib/j2se/1.4/jre/

  2. Descargar e instalar el jar de BouncyCastle CryptoProvider en $JRE/lib/ext

  3. Descargar e instalar los archivos de la Unlimited Strength Jurisdiction Policy 1.4.2 en $JRE/lib/security

  4. Modificar el archivo $JRE/lib/security/java.security estableciendo los proveedores de seguridad como sigue:
    security.provider.1=sun.security.provider.Sun
    security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
    security.provider.3=com.sun.net.ssl.internal.ssl.Provider
    security.provider.4=com.sun.rsajca.Provider
    security.provider.5=com.sun.crypto.provider.SunJCE
    security.provider.6=sun.security.jgss.SunProvider
    El de BouncyCastle debe ser el segundo.
Y con eso debería alcanzar para poder utilizar certificados con clave de 4096 bits. O eso espero...
Bueno los dejo por ahora así como algo. Saludos!

No hay comentarios.: