En fin de compte, .keystore
et .jks
ne sont que des extensions de fichiers : c'est à vous de nommer vos fichiers de manière judicieuse. Certaines applications utilisent un fichier keystore stocké dans $HOME/.keystore
il est généralement sous-entendu qu'il s'agit d'un fichier JKS, puisque JKS est le type de keystore par défaut du fournisseur de sécurité Java de Sun/Oracle. . Tout le monde n'utilise pas le .jks
pour les fichiers JKS, car elle est implicite par défaut. Je recommande d'utiliser l'extension, juste pour se souvenir du type à spécifier (si vous en avez besoin).
En Java, le mot keystore peut avoir l'une des significations suivantes, selon le contexte :
En ce qui concerne le fichier et le stockage, il ne s'agit pas vraiment d'une installation de stockage pour les paires clé/valeur (il existe de nombreux autres formats pour cela). Il s'agit plutôt d'un conteneur pour stocker des clés cryptographiques et des certificats (je crois que certains d'entre eux peuvent également stocker des mots de passe). Généralement, ces fichiers sont chiffrés et protégés par un mot de passe afin de ne pas laisser ces données à la disposition de parties non autorisées.
Java utilise son KeyStore
et l'API associée pour utiliser un keystore ( qu'il s'agisse d'un fichier ou non ). JKS
est un format de fichier spécifique à Java, mais l'API peut également être utilisée avec d'autres types de fichiers, généralement PKCS#12. Lorsque vous souhaitez charger un keystore, vous devez spécifier son type. Les extensions conventionnelles seraient :
-
.jks
pour le type "JKS"
,
-
.p12
ou .pfx
pour le type "PKCS12"
(le nom de la spécification est PKCS#12, mais la norme #
n'est pas utilisé dans le nom du type de keystore Java).
En outre, BouncyCastle fournit également ses implémentations, en particulier BKS (généralement en utilisant le .bks
), qui est fréquemment utilisé pour les applications Android.