Je rencontre beaucoup de problèmes lors de la configuration d'un schéma de certificat X509 dans C# .NET. SSL est activé sur le serveur et la connexion est établie via SSL. Les certificats sont ajoutés au magasin de la demande via request.ClientCertificates.Add()
. Cependant, aucun certificat client n'est attaché à la demande de prise de contact (que je confirme tous les deux en vérifiant le code du serveur via HttpRequest.ClientCertificate
et en analysant la prise de contact dans Fiddler).Utilisation de certutil pour vérifier les réponses aux certificats
Autant que je sache, le problème ici est que le serveur ne demande pas de certificat client. Les certificats sont définitivement dans la demande sortante, mais je n'en vois aucun sur la poignée de main et aucun sur le côté serveur - ils disparaissent simplement dans l'éther. Je suis conscient de la sémantique derrière le choix d'un certificat (merci à this page), mais cela n'a pas résolu mon problème. Les AC devraient être les mêmes; J'utilise le même certificat sécurisé auto-signé, à clé privée, pour chaque fin de test.
Apparemment, je peux utiliser certutil.exe pour vérifier quels certificats seront choisis lorsqu'ils seront utilisés avec un certificat de serveur donné. Ce serait une aide énorme si je pouvais comprendre comment l'utiliser comme ça. Certutil est un gros programme qui est mal documenté. Toute aide serait appréciée.