У меня есть файл самозаверяющего сертификата (.cer) от третьей стороны. Я хотел бы использовать этот сертификат в коде для подключения к их веб-сервису (через HTTPS), не устанавливая его в моем хранилище сертификатов в Windows. В частности, это так, что всем остальным разработчикам в команде не придется устанавливать этот сертификат локально, чтобы соединение работало на них.
Есть ли способ сделать это в коде? Он может использовать либо устаревший код клиента webservice (с помощью wsdl.exe или Add Web Reference VS), либо код клиента WCF (с помощью svcutil.exe или Add Service Reference VS) - мы не определили, каким путем мы хотим идти еще.
Я пробовал:
proxy.ClientCertificates.Add(X509Certificate.CreateFromCertFile(@"d:\temp\mycert.cer"));
со старым школьным кодом веб-сервиса, не повезло - он все еще не работает с Could not establish trust relationship for the SSL/TLS secure channel.
, пока я не установлю сертификат в хранилище сертификатов. То же самое для:
<identity>
<certificate encodedValue="the base64 encoded contents of the file" />
</identity>
в конечной точке в app.config с использованием технологии клиента WCF.
Спасибо