Me gustaría crear una clave TDES con un tamaño de 128 bits y una clave 2KTDES con 192 bits para la autenticación en una tarjeta inteligente Desfire. Por lo tanto, he usado el keytool para generar los jceks con el siguiente comando. Cuando ejecuto el mismo en la carpeta C:\Program Files (x86)\Java\jdk1.8.0_25\jre\bin
puedo ver que la ejecución se realiza correctamente y se crean los jceks. Sin embargo, cuando se exporta el archivo keytool.exe a otra ubicación, tal vez en el escritorio, puedo ver que el mismo comando falla con el siguiente error.
C:\Users\Charan\Desktop\KeyGen>keytool -genseckey -alias TDES -keyalg DESede -keysize 128 -storetype jceks -keystore TDES.jceks -storepass change -keypass change
keytool error: java.security.InvalidParameterException: Wrong keysize: must be equal to 112 or 168
C:\Users\Charan\Desktop\KeyGen>
C:\Users\Charan\Desktop\KeyGen>
Intenté lo mismo con las opciones 112 y 168, de cualquier manera se ejecuta sin errores, pero el tamaño de clave creado en ambos casos es de 192 bits. Pero la pregunta original sigue siendo un misterio porque cuando intenté crear claves de 192 y 256 bits con DESEDE, pude hacerlas cuando ejecuté la herramienta desde la carpeta bin. Los archivos de almacén de claves generados tenían la longitud de clave correcta, 192 y 256.