Hay algunos tipos más de los que figuran en la lista de nombres estándar a la que ha vinculado. Puede encontrar más en la documentación de proveedores de cifrado . Los más comunes son ciertamente JKS
(los predeterminados) y PKCS12
(para archivos PKCS # 12, a menudo con extensión .p12
o, a veces .pfx
).
JKS es el más común si te quedas dentro del mundo de Java. PKCS # 12 no es específico de Java, es particularmente conveniente usar certificados (con claves privadas) respaldados desde un navegador o que provienen de herramientas basadas en OpenSSL ( keytool
no se pudo convertir un almacén de claves e importar sus claves privadas antes de Java 6 , por lo que tuvo que usar otras herramientas).
Si ya tiene un archivo PKCS # 12, a menudo es más fácil usar el PKCS12
tipo directamente. Es posible convertir formatos, pero rara vez es necesario si puede elegir el tipo de almacén de claves directamente.
En Java 7, PKCS12
era principalmente útil como almacén de claves, pero menos para un almacén de confianza (vea la diferencia entre un almacén de claves y un almacén de confianza ), porque no se pueden almacenar entradas de certificado sin una clave privada. Por el contrario, JKS
no requiere que cada entrada sea una entrada de clave privada, por lo que puede tener entradas que contengan solo certificados, lo cual es útil para almacenes de confianza, donde almacena la lista de certificados en los que confía (pero no tiene el clave privada para ellos).
Esto ha cambiado en Java 8, por lo que ahora también puede tener entradas de solo certificado en las PKCS12
tiendas. (Se pueden encontrar más detalles sobre estos cambios y otros planes en JEP 229: Crear almacenes de claves PKCS12 de forma predeterminada ).
Hay algunos otros tipos de almacenes de claves, quizás de uso menos frecuente (según el contexto), entre los que se incluyen:
PKCS11
, para bibliotecas PKCS # 11, generalmente para acceder a tokens criptográficos de hardware, pero la implementación del proveedor Sun también admite tiendas NSS (de Mozilla) a través de esto.
BKS
, utilizando el proveedor BouncyCastle (comúnmente utilizado para Android).
Windows-MY
/ Windows-ROOT
, si desea acceder directamente al almacén de certificados de Windows.
KeychainStore
, si desea utilizar el llavero OSX directamente.