У меня есть база данных SQL, в которой хранится мой клиентский сертификат для службы WCF и других служб. (X509 и т. Д.). Я хотел бы использовать этот магазин (вместо «Мой») для получения этого сертификата (вместо объявления его в web.config), а затем использовать его для WCF.
Я попытался выполнить поиск на этом сайте и в Google, но, похоже, это не очень помогает.
В настоящее время я делаю
var targetEndpoint = new EndpointAddress(targetLogicalAddress, targetIdentity);
MyTransportPortTypesClient proxy = new MyTransportPortTypesClient("WebConfigSection", targetEndpoint);
Так что в идеале я хотел бы избавиться от "WebConfigSection" и вместо этого передать какой-то объект WCF с сертификатом со знаком.
Кто-нибудь знает, как этого добиться?
Я наконец-то решил это, и вот как я это сделал. (Я поделюсь своим опытом, чтобы каждый мог его использовать) Это без использования какого-либо компьютера CertificateStore. Это чисто из базы данных на клиентский прокси.
Я создал объект X509Certificate2 и назначил физический файл (в байтах []). Вы также можете поставить пароль, если его пароль защищен.
Затем я назначил сертификат моему прокси-клиенту.
Что-то вроде:
proxy.ClientCredentials.ClientCertificate = __MyCertificate
Теперь я манипулировал своим clientproxy, как я и предполагал, в моем app.config. и это все. Все эти свойства будут в вашем прокси-объекте.
Надеюсь, это поможет.