2010-11-22 18 views
1

Quelqu'un peut-il offrir des conseils sur la validation d'un certificat X509. Je vérifie déjà si le certificat est signé par une racine de confiance, mais je souhaite également vérifier que le certificat est bien envoyé à une partie connue.X509Certificate validation avec SerialNumber ou clé publique

Quelle est la meilleure propriété à utiliser pour cela? Je suis en train de penser à SerialNumber ou à Public Key, mais je ne comprends pas complètement les implications de l'une ou de l'autre. Je suppose que la clé publique vit au-delà de tous les certificats réédités, alors que SerialNumber est contraint à un certificat particulier émis à une date particulière?

Quelqu'un peut-il offrir des conseils éclairés?

Édition: Il semble que l'empreinte du certificat puisse être la manière typique d'y parvenir.

+0

Vous trouverez des informations sur la validation des certificats ici: http://msdn.microsoft.com/fr-fr/magazine/cc163454.aspx. Une fois la propriété X509Chain.ChainPolicy configurée pour répondre à vos besoins, la méthode X509Chain.Build peut être utilisée pour vérifier si le certificat est valide. Dans le cas contraire, la propriété X509Chain.ChainStatus vous fournira des informations d'erreur détaillées. –

+0

Merci cela ne aide pas à la question cependant. Je sais comment valider le certificat, je cherche un moyen d'identifier à qui il est attribué, sans recourir à une chaîne correspondant au sujet. – TheCodeKing

Répondre

0

J'ai trouvé qu'il y a une propriété Thumbprint qui identifie de façon unique les détails exacts du certificat.

Cependant, je suis revenu à une chaîne correspondant au nom de l'entreprise dans le sujet, car c'est la seule façon de savoir avec certitude si je pouvais valider les certificats renouvelés ou réémis.