2009-09-29 2 views
0

может кто-нибудь сказать мне, пожалуйста, почему я не имею cert.PrivateKey (= NULL) после того, как я создан экземпляр X509Certificate2 из HttpClientCertificate во время вызова веб-метода .. STH как это:Отсутствует Клиент-Certificate's PrivateKey

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

HttpClientCertificate имеет закрытый ключ, когда я проверяю его с помощью отладчика, но X509Certificate2 (переменная сертификата) нет!

.. Кроме того, я даже не получаю исключение CryptographicException при указании неверного пароля.

Может ли кто-то очистить меня?

Спасибо большое за много!

С наилучшими пожеланиями, Kris

ответ

1

Конструктор вы используете (данные/пароль) предназначен для использования, чтобы получить сертификат от PKCS # 12 файл (файл PFX). Свойство Certificate ClientCertificate «Получает строку, содержащую двоичный поток всего содержимого сертификата, в формате ASN.1».

ClientCertificate предназначен для предоставления вам сертификата, используемого при установлении сеанса SSL с сервером. Я не ожидал, что он откроет секретный ключ так, как вы пытаетесь.

+0

Раньше я пытался с надлежащим CTOR: X509Certificate2 Cert = новый X509Certificate2 (Context.Request.ClientCertificate.Certificate) Также здесь я имею PrivateKey в объекте CERT после инстанцировании его как в строке выше .. Я хочу реализовать маршрутизацию мыльных сообщений, включая прикрепленные к ним клиентские сертификаты. Вот почему я хочу прочитать его из HttpClientCertificate и создать новый объект X509Certificate/X509Certificate2 и добавить его в новую маршрутизацию SoapHttpClient. Это моя проблема .. – Kr15

Смежные вопросы