Usando JDK 1.6 o posterior
Justin ha señalado en los comentarios a continuación que keytool solo es capaz de hacer esto usando el siguiente comando (aunque solo en JDK 1.6 y posteriores):
keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12
-destkeystore clientcert.jks -deststoretype JKS
Usando JDK 1.5 o inferior
OpenSSL puede hacerlo todo. Esta respuesta en JGuru es el mejor método que he encontrado hasta ahora.
En primer lugar, asegúrese de tener OpenSSL instalado. Muchos sistemas operativos ya lo tienen instalado como encontré con Mac OS X.
Los dos comandos siguientes convierten el archivo pfx a un formato que se puede abrir como un almacén de claves Java PKCS12:
openssl pkcs12 -in mypfxfile.pfx -out mypemfile.pem
openssl pkcs12 -export -in mypemfile.pem -out mykeystore.p12 -name "MyCert"
TENGA EN CUENTA que el nombre proporcionado en el segundo comando es el alias de su clave en el nuevo almacén de claves.
Puede verificar el contenido del almacén de claves utilizando la utilidad keytool de Java con el siguiente comando:
keytool -v -list -keystore mykeystore.p12 -storetype pkcs12
Finalmente, si lo necesita, puede convertir esto en un almacén de claves JKS importando el almacén de claves creado anteriormente en un nuevo almacén de claves:
keytool -importkeystore -srckeystore mykeystore.p12 -destkeystore clientcert.jks -srcstoretype pkcs12 -deststoretype JKS