Сертификат клиента для подключенного сервиса. net ядро - PullRequest
0 голосов
/ 27 марта 2020

У меня есть. net core 2 API, где я подключил службу WCF (которая является отправителем электронной почты); Служба размещена на IIS с HTTPS и требует SSL; Я хочу передать сертификат клиента из API всякий раз, когда я устанавливаю соединение со службой электронной почты. Я думаю, что единственное решение - это изменить файл reference.cs (что не является наилучшей практикой, и я понятия не имею, что мне следует изменить)

Это мой файл startup.cs; Я сделал это, потому что мне нужен динамический c URL, основанный на среде

   services.AddTransient<IEmailService, EmailServiceClient>((serviceProvider) =>
        {
            var configuration = serviceProvider.GetService<IConfiguration>();

            var url = configuration.GetValue<string>("EmailServiceUrl");

            return new EmailServiceClient(EmailServiceClient.EndpointConfiguration.WSHttpBinding_IEmailService, url);
        });

Любое предложение

1 Ответ

0 голосов
/ 27 марта 2020

Я добавил сертификат клиента в ServiceClient после того, как я его создал в Startup.cs

            client.ClientCredentials.ClientCertificate.SetCertificate(System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine,
                System.Security.Cryptography.X509Certificates.StoreName.My, System.Security.Cryptography.X509Certificates.X509FindType.FindByThumbprint, "thumbprint");
...