2016-05-29 8 views
1

КонтекстКак использовать ссылочный клиент службы WCF с сертификатом клиента X.509, который доступен только как .pfx-файл?

У меня есть проверенная рабочая служба WCF, которая настроена на аутентификацию сертификата клиента. Теперь я хотел бы назвать это и предоставить клиентский сертификат. Я хотел бы использовать класс клиента, который был сгенерирован, когда я добавил ссылку на сервис для моего проекта клиента.

ПРИМЕЧАНИЕ: I должен загрузить мой клиентский сертификат X 509 из файла или другого потока, поскольку клиент будет работать в среде PaaS, поэтому у меня не будет доступа к любому хранилищу сертификатов ОС.

X509Certificate certificate = new X509Certificate(path, password); 

Вопрос

Я знаю, что могу настроить клиента следующим образом:

client.ClientCredentials.ClientCertificate.SetCertificate(
    StoreLocation.CurrentUser, 
    StoreName.My, 
    X509FindType.FindBySubjectName, 
    "myCert"); 

К сожалению, нет перегрузки SetCertificate, который принимает загруженный экземпляр X509Certificate.

Как настроить мой клиент для использования загруженного X509Certificate?

+0

насчет client.ClientCredentials.ClientCertificate.Certificate = сертификат? – Evk

+0

Это был мой первый выстрел. но он доступен только для чтения, поэтому SetCertificate предоставил –

+0

. Он не только для чтения. – Evk

ответ

2

Все, что вам нужно это просто:

client.ClientCredentials.ClientCertificate.Certificate = certificate