Tag: 客户端证书

客户端证书HttpClient .Net核心Docker Linux

我实现了一个内部REST服务,它使用另一个(外部)REST服务。 HTTPS使用客户端证书(和令牌)保护外部服务。 在第一个实现中,它是一个基于.NET Framework(当然是windows的4.6.2)的服务,代码如下所示: var certificate = new X509Certificate2("./ExternalCert.pfx", "supersecurepassword764689"); var httpClientHandler = new HttpClientHandler { ClientCertificateOptions = ClientCertificateOption.Manual, ClientCertificates = { certificate }, CookieContainer = this.cookieContainer, }; this.httpClient = new HttpClient(httpClientHandler) { BaseAddress = new Uri(url) }; 它工作得很好。 现在我们切换到ASP.NET Core 2(基于.NET Core)和Docker。 在我的Windows机器上进行开发时,上面的代码和.NET Core一起工作。 但是现在,如果我在docker容器(当然是linux)中执行它,它不会再工作了(SSL错误)。 (现在证书被复制到容器图像中,但是计划用docker机密来存储)。 我做了一些研究,似乎* .pfx不能在Linux上工作,你必须生成基于pfx的* .pem文件。 所以我用这个命令生成它: openssl pkcs12 -in ExternalCertificate.pfx […]