Il existe quelques types de plus que ce qui est répertorié dans la liste de noms standard à laquelle vous êtes lié. Vous pouvez en savoir plus dans la documentation des fournisseurs de cryptographie . Les plus courants sont certainement JKS
(la valeur par défaut) et PKCS12
(pour les fichiers PKCS # 12, souvent avec une extension .p12
ou parfois .pfx
).
JKS est le plus courant si vous restez dans le monde Java. PKCS # 12 n'est pas spécifique à Java, il est particulièrement pratique d'utiliser des certificats (avec des clés privées) sauvegardés à partir d'un navigateur ou provenant d'outils basés sur OpenSSL ( keytool
impossible de convertir un keystore et d'importer ses clés privées avant Java 6 , vous avez donc dû utiliser d'autres outils).
Si vous avez déjà un fichier PKCS # 12, il est souvent plus facile d'utiliser PKCS12
directement le type. Il est possible de convertir des formats, mais c'est rarement nécessaire si vous pouvez choisir directement le type de fichier de clés.
Dans Java 7, PKCS12
était principalement utile en tant que keystore mais moins pour un truststore (voir la différence entre un keystore et un truststore ), car vous ne pouviez pas stocker les entrées de certificat sans clé privée. En revanche, JKS
ne nécessite pas que chaque entrée soit une entrée de clé privée, vous pouvez donc avoir des entrées qui contiennent uniquement des certificats, ce qui est utile pour les magasins de confiance, où vous stockez la liste des certificats auxquels vous faites confiance (mais vous n'avez pas le clé privée pour eux).
Cela a changé dans Java 8, vous pouvez donc désormais avoir des entrées de certificat uniquement dans les PKCS12
magasins. (Vous trouverez plus de détails sur ces modifications et d'autres plans dans JEP 229: Créer des keystores PKCS12 par défaut .)
Il existe quelques autres types de keystore, peut-être moins fréquemment utilisés (selon le contexte), notamment:
PKCS11
, pour les bibliothèques PKCS # 11, généralement pour accéder aux jetons cryptographiques matériels, mais l'implémentation du fournisseur Sun prend également en charge les magasins NSS (de Mozilla) à travers cela.
BKS
, en utilisant le fournisseur BouncyCastle (couramment utilisé pour Android).
Windows-MY
/ Windows-ROOT
, si vous souhaitez accéder directement au magasin de certificats Windows.
KeychainStore
, si vous souhaitez utiliser directement le trousseau OSX.