Je voulais lister les certificats stockés dans un keystore PKCS12.
Le keystore a l'extension .pfx
certificate
ssl-certificate
keystore
pkcs#12
David García González
la source
la source
.p12
)? Je reçoisjava.io.IOException: Invalid keystore format
Vous pouvez également utiliser
openssl
pour accomplir la même chose:la source
Vous pouvez lister les entrées (détails des certificats) avec le keytool et même vous n'avez pas besoin de mentionner le type de magasin.
la source
Ce qui manque dans la question et dans toutes les réponses, c'est que vous pourriez avoir besoin de la phrase de passe pour lire les données publiques du keystore PKCS # 12 (.pfx). Si vous avez besoin d'une phrase secrète ou non, cela dépend de la manière dont le fichier PKCS # 12 a été créé. Vous pouvez vérifier la structure ASN1 du fichier (en l'exécutant via un analyseur ASN1, openssl ou certutil peut également le faire), si les données PKCS # 7 (par exemple le préfixe OID 1.2.840.113549.1.7) sont répertoriées comme `` cryptées '' ou avec une spécification de chiffrement ou si l'emplacement des données dans l'arborescence asn1 est sous un nœud chiffré, vous ne pourrez pas le lire sans connaître la phrase de passe. Cela signifie que votre commande 'openssl pkcs12' échouera avec des erreurs (la sortie dépend de la version). Pour ceux qui se demandent pourquoi vous pourriez être intéressé par le certificat d'un PKCS # 12 sans connaître la phrase de passe. Imaginez que vous avez de nombreux keystores et de nombreuses phrases de phase et que vous êtes vraiment mauvais pour les garder organisés et que vous ne voulez pas tester toutes les combinaisons, le certificat à l'intérieur du fichier pourrait vous aider à trouver de quel mot de passe il pourrait s'agir. Ou vous développez un logiciel pour migrer / renouveler un keystore et vous devez décider à l'avance de la procédure à lancer en fonction du certificat contenu sans interaction de l'utilisateur. Ainsi, ces derniers exemples fonctionnent sans mot de passe en fonction de la structure PKCS # 12. Ou vous développez un logiciel pour migrer / renouveler un keystore et vous devez décider à l'avance de la procédure à lancer en fonction du certificat contenu sans interaction de l'utilisateur. Ainsi, ces derniers exemples fonctionnent sans mot de passe en fonction de la structure PKCS # 12. Ou vous développez un logiciel pour migrer / renouveler un keystore et vous devez décider à l'avance de la procédure à lancer en fonction du certificat contenu sans interaction de l'utilisateur. Ainsi, ces derniers exemples fonctionnent sans mot de passe en fonction de la structure PKCS # 12.
Je voulais juste ajouter cela, car je n'ai pas trouvé de réponse moi-même et j'ai passé beaucoup de temps à la comprendre.
la source
la source