0

我有一个 .net core 2 API,我在其中连接了 WCF 服务(它是一个电子邮件发件人);该服务使用 HTTPS 托管在 IIS 上,并且需要 SSL;每当我连接到电子邮件服务时,我都想从 api 传递客户端证书。我认为唯一的解决方案是更改reference.cs文件(这不是最佳做法,我不知道应该更改什么)

这是我的 startup.cs 文件;我这样做是因为我想要一个基于环境的动态 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);
        });

任何建议

4

1 回答 1

1

在 Startup.cs 中实例化之后,我已将客户端证书添加到 ServiceClient

            client.ClientCredentials.ClientCertificate.SetCertificate(System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine,
                System.Security.Cryptography.X509Certificates.StoreName.My, System.Security.Cryptography.X509Certificates.X509FindType.FindByThumbprint, "thumbprint");
于 2020-03-27T13:16:41.670 回答