Esistono alcuni tipi in più rispetto a quelli elencati nell'elenco dei nomi standard a cui ti sei collegato. Puoi trovare ulteriori informazioni nella documentazione dei provider di crittografia . I più comuni sono sicuramente JKS
(l'impostazione predefinita) e PKCS12
(per i file PKCS # 12, spesso con estensione .p12
o talvolta .pfx
).
JKS è il più comune se rimani nel mondo Java. PKCS # 12 non è specifico per Java, è particolarmente conveniente utilizzare certificati (con chiavi private) di cui è stato eseguito il backup da un browser o provenienti da strumenti basati su OpenSSL ( keytool
non è stato possibile convertire un keystore e importare le sue chiavi private prima di Java 6 , quindi dovevi usare altri strumenti).
Se hai già un file PKCS # 12, spesso è più facile usare PKCS12
direttamente il tipo. È possibile convertire i formati, ma raramente è necessario se puoi scegliere direttamente il tipo di keystore.
In Java 7, PKCS12
era principalmente utile come keystore ma meno per un truststore (vedere la differenza tra un keystore e un truststore ), perché non era possibile memorizzare le voci del certificato senza una chiave privata. Al contrario, JKS
non richiede che ogni voce sia una voce di chiave privata, quindi puoi avere voci che contengono solo certificati, il che è utile per i truststore, dove archivi l'elenco dei certificati di cui ti fidi (ma non hai il chiave privata per loro).
Questo è cambiato in Java 8, quindi ora puoi avere voci di solo certificato anche nei PKCS12
negozi. (Maggiori dettagli su queste modifiche e ulteriori piani possono essere trovati in JEP 229: Crea keystore PKCS12 per impostazione predefinita .)
Esistono alcuni altri tipi di keystore, forse usati meno frequentemente (a seconda del contesto), quelli includono:
PKCS11
, per le librerie PKCS # 11, tipicamente per l'accesso ai token di crittografia hardware, ma l'implementazione del provider Sun supporta anche gli archivi NSS (da Mozilla) attraverso questo.
BKS
, utilizzando il provider BouncyCastle (comunemente utilizzato per Android).
Windows-MY
/ Windows-ROOT
, se desideri accedere direttamente all'archivio certificati di Windows.
KeychainStore
, se desideri utilizzare direttamente il portachiavi OSX.