NET Core Kestrel部署HTTPS使用SSL证书

ASP.NET Core配置 Kestrel部署HTTPS。现在大部分网站已经部署HTTPS,大家对于安全越来越重视。

今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestrel。大家也可以通过前置Nginx来部署HTTPS。

下面直接进入正题。

新建项目并添加引用

新建一个ASP.NET Core Web Application  模板选择空。

新建好项目添加引用 Microsoft.AspNetCore.Server.Kestrel.Https。

Install-Package Microsoft.AspNetCore.Server.Kestrel.Https

如果你的.NET Core SDK 还是1.0 ,那么引用的时候加上版本号Install-Package Microsoft.AspNetCore.Server.Kestrel.Https -Version 1.0.0

生成证书

通过OpenSSL 生成证书

必须先确保安装OpenSSL。

首先自己创建根证书 root 自己做CA也就是发行者。

openssl genrsa -des3 -out root.key

然后按照提示输入密码

openssl req -new -key root.key -out root.csr

输入刚才设置的密码,然后填写一些信息

然后创建一个10年期根证书 root.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

创建服务器证书

openssl genrsa -des3 -out server.key 2048

openssl req -new -key server.key -out server.req

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt

openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx

最终得到的server.pfx 就是可以用来在配置HTTPS。

将server.pfx 复制到项目根目录

添加NuGet包

nuget中查找然后再程序中添加引用Microsoft.AspNetCore.Server.Kestrel.Https

然后打开Program.cs 更改代码如下:

    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel(option=> {
                    option.UseHttps("server.pfx", "linezero");
                })
                .UseUrls("https://*:443")
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }

然后选择使用 Kestrel 运行。

打开浏览器输入 https://localhost/

由于证书是自己生成,显示红标也就是没有得到验证。

附测试用证书下载:server.pfx

时间: 2024-08-08 09:38:51

NET Core Kestrel部署HTTPS使用SSL证书的相关文章

NET Core Kestrel部署HTTPS

NET Core Kestrel部署HTTPS ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestrel.大家也可以通过前置Nginx来部署HTTPS. 下面直接进入正题. 新建项目并添加引用 新建一个ASP.NET Core Web Application  模板选择空. 新建好项目添加引用 Microsoft.AspNetCore.Server.

Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http.https,基于spring boot四:https的SSL证书在Android端基于okhttp,Retrofit的使用 所有文章会优先在:微信公众号"颜家大少"中发布转载请标明出处 一:本文的主要内容介绍 CA证书的下载及相应文件的介绍CA证书在tomcat的部署CA证书在sprin

Https系列之四:https的SSL证书在Android端基于okhttp,Retrofit的使用

Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http.https,基于spring boot四:https的SSL证书在Android端基于okhttp,Retrofit的使用 所有文章会优先在:微信公众号"颜家大少"中发布转载请标明出处 先来回顾一下 前面已分别介绍了https,SSL证书的生成,并完成了服务器端的https的部署并提到一

为什么“部署自签SSL证书非常不安全”

目前,有许多重要的公网可以访问的网站系统(如网银系统)都在使用自签SSL证书,即自建PKI系统颁发的SSL证书,而不是部署支持浏览器的SSL证书,这绝对是得不偿失的重大决策失误,自签证书普遍存在严重的安全漏洞,极易受到攻击.主要问题有:    1. 自签证书最容易被假冒和伪造,而被欺诈网站所利用.    所谓自签证书,就是自己做的证书,既然你可以自己做,那别人可以自己做,可以做成跟你的证书一模一样,就非常方便地伪造成为有一样证书的假冒网银网站了.    而使用支持浏览器的SSL证书就不会有被伪造

部署沃通SSL证书解决ios7.1的app下载问题

问题描述 最近苹果发布了IOS7.1.话说苹果每次发布都牵动开发者的心哈.苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件.也就说,在安装app的第一步,下载.plist文件,需要使用https协议.https协议如下: 这里不详细描述https协议.简单描述,用户使用https来下载.plist文件.则需要网站支持https协议.支持https协议,除了服务端做一些配置外,还需要申请一张服务器SSL证书,这个SSL证书必须是受信任的CA机构发的(如沃通WoS

python3 urllib.requesturlopen 一个https 时ssl证书错误!

不知道从那个版本起,python用urlopen打开一个https时会验证一次 SSL 证书,当目标使用的是自签名的证书时就会爆出一个 <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)> 解决办法是:通过导入ssl模块,把证书验证关了 import sslssl._create_default_https_context = ssl._create_unverified_

HTTPS请求 SSL证书验证

import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} request = urllib2.Request(ur

windows Apache 配置支持HTTPS协议SSL证书

在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有ssl版本的Apache安装程序. 并且ssl需要的文件在如下的位置: [Apache安装目录]/modules/ mod_ssl.so [Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll, openssl.cnf [Apache安装目录]/conf/ openssl.cnf 创建SSL证书(注意,我下载的是PHPStudy里面自带了

获得网址的Https的SSL证书并且保存到truststore

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #4e9072 } 一.生成PEM文件 这里以邮件发送接口为例https://api.mailgun.net/v3/,首先运行以下命令: openssl s_client -host api.mailgun.net -port 443 -prexit -showcerts 执行结果如下: CONNECTED(00000003) depth=1 C = US, O