在Ubuntu服务器上的.net Core 3.1中使用PEM格式证书

问题描述

每个人 我已阅读过issue,发现.net core 3.x支持PEM格式证书。我正在尝试使用它,但没有成功。我找不到有关如何使用它的任何示例代码。我拥有的是这样的:

        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseUrls("http://0.0.0.0:8678/");//It works now and this is without https
                webBuilder.UseKestrel(options =>
                {
                      //TODO:

                    
                });
            });

TODO:中,我知道我们必须有这样的东西:

options.Listen(IPAddress.Loopback,8678); 
                    options.Listen(IPAddress.Any,8678); 
                    options.Listen(IPAddress.Loopback,443,listenOptions => { listenOptions.UseHttps("certificate.pfx","password"); });

那么,我们要代替"certificate.pfx","password"放什么呢?我真的很感谢任何帮助。 在Ubunto计算机中我的证书的路径为:

/etc/letsencrypt/app/fullchain.pem

解决方法

根据this ,. NET 5中添加了PEM支持。

方法是通过添加appsettings.json以下配置之一:

  "Certificates":{
    "Default":{
      "Path": "/some/asp.pem","KeyPath": "/some/asp.key","Password": "password"
    }
  }

  "Certificates":{
    "Default":{
      "Path": "/some/asp.pem",}
  }

  "Certificates":{
    "Default":{
      "Path": "/some/asp.crt",}
  }

此外,在此PR中仍在开发从配置加载证书链的支持,并且可以在NET5 RC2中添加它。 根据提到的PR,您需要在配置文件中指定ChainPath

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...