Прежде всего, спасибо за ваше время и внимание!
У меня есть веб-служба WCF, для которой требуется сертификат x509 для аутентификации.Этот веб-сервис был добавлен в качестве подключенного сервиса и справочных классов, созданных в .Net Standard 2.0 Library.Я хотел бы использовать этот веб-сервис WCF.Тем не менее, я сталкиваюсь с этим;у объекта BasicHttpsSecurity, который я пытаюсь назначить свойству Security свойства BasicHttpsBinding, нет доступных конструкторов ...
Как я могу установить для свойства ClientCredentialType значение Certificate в этом сценарии?
В полном тестовом проекте .Net Framework, который я сделал на стороне, у меня точно такой же код, работающий, как и ожидалось.Похоже, привязка и сертификат x509 устанавливаются по мере необходимости.Я просто не могу установить свойство Security, чтобы указать, что я хочу, чтобы он действительно использовал сертификат ...: /
Вот код, который я использую для настройки клиента.Похоже, что он отлично работает в полном тестовом приложении .Net Framework.Основная проблема заключается в том, что «Security = new BasicHttpsSecurity ()» говорит мне, что нет конструктора, который принимает 0 аргументов ... Однако я вообще не вижу конструкторов.Поэтому я не могу сообщить привязке, что хочу использовать HttpClientCredentialType.Certificate в качестве моего ClientCredentialType.
private TestServiceClient GetTestServiceClient()
{
var address = new EndpointAddress("https://known.to.be/working/service/endpoint");
var binding = new BasicHttpsBinding()
{
Name = "basic_SSL_Cert",
// ... other properties that work fine in full .Net Framework test.
// I can't instantiate/initialize this...
Security = new BasicHttpsSecurity()
{
Mode = BasicHttpsSecurityMode.Transport,
Transport = new HttpTransportSecurity()
{
// ... so I can't set this :(
ClientCredentialType = HttpClientCredentialType.Certificate,
ProxyCredentialType = HttpProxyCredentialType.None
}
}
};
var client = new TestServiceCLient(binding, address);
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.LocalMachine,
StoreName.My,
X509FindType.FindBySubjectDistinguishedName,
"I can find the cert no problem."
);
return client;
}
Любые рекомендации о том, как использовать веб-службу WCF, для которой требуется сертификат x509, из стандарта .Net2.0 Библиотека очень ценится.Если я все делаю неправильно, пожалуйста, держи меня прямо.
Заранее спасибо за ваше время!