2009-09-29 8 views
0

me dire s'il vous plaît pourquoi je n'ai pas le cert.PrivateKey (= null) après i instancié un X509Certificate2 d'un HttpClientCertificate lors d'un appel de méthode web .. STH comme ceci:manquant quelqu'un peut client Certificate's PrivateKey

X509Certificate2 cert = new X509Certificate2 (Context.Request.ClientCertificate.Certificate, "test");

Le HttpClientCertificate a une clé privée lorsque je vérifie avec le débogueur, mais pas X509Certificate2 (variable cert)!

.. De plus, je ne reçois même pas une exception CryptographicException lorsque je spécifie un mot de passe invalide.

Quelqu'un peut me clearifier s'il vous plaît?

Merci beaucoup d'avance!

Cordialement, Kris

Répondre

1

Le constructeur que vous utilisez (données/mot de passe) est destiné à être utilisé pour obtenir un certificat d'un fichier PKCS # 12 (fichier PFX). La propriété Certificate de ClientCertificate "Obtient une chaîne contenant le flux binaire de tout le contenu du certificat, au format ASN.1." ClientCertificate est destiné à vous fournir le certificat utilisé lors de l'établissement de la session SSL avec le serveur. Je ne m'attends pas à ce qu'il expose la clé privée de la façon dont vous essayez de le faire.

+0

Avant, je l'ai essayé avec le cteur approprié: X509Certificate2 cert = new X509Certificate2 (Context.Request.ClientCertificate.Certificate) ne ici que j'ai le privatekey dans l'objet cert après instanciation comme dans la ligne ci-dessus .. Je veux implémenter le routage des messages de savon y compris les certificats de client qui leur sont attachés. C'est pourquoi je veux le lire de HttpClientCertificate et instancier un nouvel objet X509Certificate/X509Certificate2 et l'ajouter au nouveau routage SoapHttpClient .. C'est mon problème .. – Kr15