Existem mais alguns tipos além do que está listado na lista de nomes padrão que você vinculou. Você pode encontrar mais informações na documentação dos provedores de criptografia . Os mais comuns são certamente JKS
(o padrão) e PKCS12
(para arquivos PKCS # 12, geralmente com extensão .p12
ou às vezes .pfx
).
JKS é o mais comum se você permanecer no mundo Java. PKCS # 12 não é específico do Java, é particularmente conveniente usar certificados (com chaves privadas) com backup de um navegador ou provenientes de ferramentas baseadas em OpenSSL ( keytool
não foi capaz de converter um keystore e importar suas chaves privadas antes do Java 6 , então você teve que usar outras ferramentas).
Se você já tem um arquivo PKCS # 12, geralmente é mais fácil usar o PKCS12
tipo diretamente. É possível converter formatos, mas raramente é necessário se você puder escolher o tipo de armazenamento de chave diretamente.
No Java 7, PKCS12
era útil principalmente como um keystore, mas menos para um truststore (veja a diferença entre um keystore e um truststore ), porque você não poderia armazenar entradas de certificado sem uma chave privada. Em contraste, JKS
não exige que cada entrada seja uma entrada de chave privada, então você pode ter entradas que contenham apenas certificados, o que é útil para armazenamentos confiáveis, onde você armazena a lista de certificados confiáveis (mas você não tem o chave privada para eles).
Isso mudou no Java 8, então agora você também pode ter entradas apenas de certificado nas PKCS12
lojas. (Mais detalhes sobre essas mudanças e planos adicionais podem ser encontrados em JEP 229: Criar keystores PKCS12 por padrão .)
Existem alguns outros tipos de keystore, talvez usados com menos frequência (dependendo do contexto), incluindo:
PKCS11
, para bibliotecas PKCS # 11, normalmente para acessar tokens criptográficos de hardware, mas a implementação do provedor Sun também oferece suporte a armazenamentos NSS (da Mozilla) por meio disso.
BKS
, usando o provedor BouncyCastle (comumente usado para Android).
Windows-MY
/ Windows-ROOT
, se você deseja acessar o armazenamento de certificados do Windows diretamente.
KeychainStore
, se você deseja usar o chaveiro OSX diretamente.