In definitiva, .keystore
e .jks
sono solo estensioni di file: tocca a voi per denominare i file in modo sensato. Alcune applicazioni utilizzano un file di archivio di chiavi memorizzato in $HOME/.keystore
: di solito è implicito che si tratta di un file JKS, dal JKS is the default keystore type in the Sun/Oracle Java security provider. Non tutti usano l'estensione .jks
per i file JKS, perché è implicita come predefinita. Consiglierei di usare l'estensione, solo per ricordare quale tipo specificare (se necessario).
In Java, la parola di chiavi può avere uno dei seguenti significati, a seconda del contesto:
Quando si parla di file e di stoccaggio, questo non è davvero una stora ge facility per coppie chiave/valore (ci sono molti altri formati per questo). Piuttosto, è un contenitore per memorizzare chiavi e certificati crittografici (credo che alcuni di essi possano anche memorizzare password). Generalmente, questi file sono crittografati e protetti da password in modo da non rendere disponibili questi dati a parti non autorizzate.
Java utilizza la classe KeyStore
e l'API correlata per utilizzare un keystore (whether it's file based or not). JKS
è un formato di file specifico per Java, ma l'API può anche essere utilizzata con altri tipi di file, in genere PKCS # 12. Quando si desidera caricare un keystore, è necessario specificare il relativo tipo di keystore.Le estensioni convenzionali sarebbero:
.jks
per il tipo "JKS"
,
.p12
o .pfx
per il tipo "PKCS12"
(il nome specifica è PKCS # 12, ma il #
non viene utilizzato nel keystore nome del tipo Java).
Inoltre, BouncyCastle fornisce anche le implementazioni, in particolare BKS (tipicamente usando l'.bks
estensione), che viene spesso utilizzato per applicazioni Android.
Direi che il tipo * keystore * predominante è JKS, non PKCS # 12, solo perché la parola "keystore" fa parte della terminologia Java, utilizzata solo raramente al di fuori del contesto di Java. Detto questo, i file PKCS # 12 sono piuttosto comuni (in genere '.pfx' o' .p12'). – Bruno
@Bruno: si intende il tipo predominante nelle applicazioni Java. – Cratylus
No, voglio dire che la parola "keystore" è principalmente una parola Java. Altre applicazioni/piattaforme raramente chiamano il luogo/file in cui le chiavi e i certificati sono archiviati in un "keystore". MS chiama i file PKCS # 12 "File di scambio di informazioni personali", per esempio. Altri hanno nomi come "key chain" (OSX), "database dei certificati" (NSS), "archivio certificati", "portachiavi", ..., per i luoghi in cui memorizzano chiavi e certificati, non proprio "keystore". – Bruno