2009-10-14 18 views
1

Mes certificats racine sont stockés sous plusieurs fichiers au format ASN.1.Comment déterminer la racine d'un certificat?

Supposons que j'ai un certificat d'entité d'extrémité chaînée dans le même format. Comment puis-je déterminer efficacement le certificat racine de ce certificat?

Actuellement, je dois adopter une approche de force brute qui extrait la clé publique du certificat d'entité finale et la valide par rapport à tous les certificats racine et la première correspondance est considérée comme le certificat racine. Est-ce la bonne approche?

+0

Je pense que la réponse réside dans le nom de l'émetteur. – hendry

Répondre

0

Pour trouver l'émetteur d'un certificat, vous devez utiliser le «DN de l'émetteur» et le faire correspondre avec le «DN de l'objet» des certificats dans votre magasin CA. Cela devrait réduire considérablement le nombre de vérifications de signature.

Il est possible d'avoir différents certificats CA avec le même "DN Objet" (avec différentes clés publiques, dates de validité, etc.), donc votre algorithme doit être préparé pour gérer cela. L'identificateur de clé de sujet et l'identificateur de clé d'autorité peuvent également aider à réduire le nombre de candidats. Trouver l'autorité émettrice n'est qu'une petite partie de la «bonne approche» de la validation des certificats. Je vous conseille de regarder la partie 6 de http://www.ietf.org/rfc/rfc5280.txt "Certification Path Validation". Certaines parties sont probablement surexploitées (c'est-à-dire la plupart des choses relatives aux politiques).