【发布时间】:2020-07-31 18:00:23
【问题描述】:
欢迎,我有兴趣创建自己的本地服务,只支持 TSL v1。
我知道它的弱点。但是某些应用程序不允许使用 1.0 以上的现代证书... 本应用长期没有更新,只更新到TSL 1.3/1.2是不可能的。
复杂的有两个问题。
- 如何创建自签名证书(私钥和公钥)v1.0
- 如何在 C# 中使用此证书,绑定环回地址。
也许像 makecert/openssl 这样的软件可以提供帮助?我应该使用哪种加密算法?
【问题讨论】:
欢迎,我有兴趣创建自己的本地服务,只支持 TSL v1。
我知道它的弱点。但是某些应用程序不允许使用 1.0 以上的现代证书... 本应用长期没有更新,只更新到TSL 1.3/1.2是不可能的。
复杂的有两个问题。
也许像 makecert/openssl 这样的软件可以提供帮助?我应该使用哪种加密算法?
【问题讨论】:
此答案适用于 .NET Core 2.0 及更高版本。
本指南Kestrel web server implementation in ASP.NET Core,是创建服务器的指南。
证书和TLS版本可以在Kestrel服务器HTTPS默认配置:
app.ConfigureKestrel(serverOptions =>
{
serverOptions.ConfigureHttpsDefaults(listenOptions =>
{
listenOptions.SslProtocols = SslProtocols.Tls;
listenOptions.ServerCertificate = x509Certificate2; // instance of X509Certificate2
});
});
值 SslProtocols.Tls 指定 TLS 1.0 安全协议。
如何在上面的代码中创建一个有效的、自签名的X509Certificate2,描述了here。在 2.0 版本的 .Net Core 中添加了证书 API。
【讨论】: