2009-01-12 4 views
6

Comment puis-je vérifier un certificat X509 (ou formaté DER) par rapport au magasin de certificats Java via la ligne de commande?Vérification du certificat auprès du magasin de certificats Java via l'interface de ligne de commande

J'ai examiné l'utilisation de l'utilitaire keytool, mais il semble qu'il ne gère que les fonctions d'importation/exportation/affichage (pas de vérification).

EDIT: Il semble que keytool peut être utilisé pour la vérification, mais seulement si une importation est tentée. Je suppose qu'une meilleure façon de poser cette question est de savoir si une approche plus passive (comme dans: ne pas modifier le keystore) est disponible. Merci!

Répondre

2

Cette page pourrait être trop simplifier:

http://java.sun.com/docs/books/tutorial/security/toolfilex/rstep1.html

Mais il ne ressemble pas à importer même avec keytool fait une véritable vérification d'un certificat. Je ne vois aucune description de la vérification de la signature du certificat entrant par rapport à la signature d'un autre certificat de confiance. Jarsigner vérifie une signature sur un jar signé, mais ne fait rien pour vérifier la signature sur le certificat utilisé pour signer le jar. Je crains que vous deviez écrire un outil pour faire la vérification, ou chercher un outil commercial qui le fait. Je pense que certaines des trousses d'outils de l'ICP comporteraient un outil de vérification des certificats.

+0

Je pense que vous avez raison de dire que Keytool ne supporte pas ce que j'essaie de faire. Nous avons fini par opter pour faire notre propre util, d'autant plus que Keytool n'est pas signé et nous voulons être en mesure de vérifier l'exécutable avant de l'exécuter. – Brian

10

Vous pouvez utiliser keytool à export les certificats nécessaires (ceux qui sont dans la chaîne pour celle que vous devez vérifier) ​​du fichier de clés Java dans les fichiers X.509. Ensuite, les concaténer ensemble en un seul fichier. Enfin, utilisez openssl pour effectuer la vérification.

openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt 

pas une solution parfaite car elle implique éclater les certs de la truststore, mais il doit travailler étant donné ce que vous commencez avec.

+1

Cela a fonctionné pour moi, mais notez que openssl veut des certificats formatés PEM et pas DER (qui est ce que keytool semble utiliser par défaut) – Greg

Questions connexes