Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

简介: 本文讲的是Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南,在本文中,我会向大家介绍如何在Windows、macOS和Ubuntu Linux上设置使用HTTPS与ASP.NET Core的本地开发环境,另外,我还将介绍如何创建自签名证书并将其添加到受信任的根证书存储区,以消除烦人的浏览器提示消息。
本文讲的是 Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

在本文中,我会向大家介绍如何在Windows、macOS和Ubuntu Linux上设置使用HTTPS与ASP.NET Core的本地开发环境,另外,我还将介绍如何创建自签名证书并将其添加到受信任的根证书存储区,以消除烦人的浏览器提示消息。最后,我将介绍如何设置用于ASP.NET Core的内置Web服务器的Kestrel来使用HTTPS。

创建自签名证书,设置信任项,就可以避免烦人的浏览器提示,记录了自签名证书的整个过程。在Windows和Linux上安装证书完全是两个不同的进程,但在ASP.NET Core环境中,跨平台开发是开发过程不可或缺的一部分,这一点至关重要。然后,Chrome中的一些通知消息,比如 “你的连接不安全”,有关通用名称匹配的Chrome消息以及关于在ASP.NET Core和Kestrel中配置HTTPS的具体信息。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

所以我认为创建一个自签名证书详细指南,涵盖Windows和Linux的详细信息将是一个好主意。

为什么选择HTTPS?

众所周知,互联网正在快速向着HTTPS时代前进。目前,HTTPS已经普遍存在了。你每天使用的大部分网站(如Google、Facebook、Microsoft、银行网站)都在使用HTTPS。

如果你在过去2—3年内开发过应用程序,那么你的Web应用程序的生产版本很有可能以HTTPS方式运行。展望未来,绝大多数网站将使用HTTPS。

互联网上将有超过50%的网页浏览量在使用HTTPS,Google Chrome的最终目标是将所有HTTP网站标记为不安全,所有通过HTTPS的通信都是加密的。这意味着没有人可以窥探你的信息。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

为什么需要本地开发的自签名证书?

每次访问HTTPS站点时,你的浏览器都会下载站点的证书,其中包含使用该证书颁发机构(CA)的私钥签名的站点托管的服务器的公钥。

你的操作系统会附带预先安装的受信任的根CA列表,浏览器使用这些根CA列表来验证证书,这是通过验证你的浏览器从站点下载的证书中的公钥是否由发出该证书的CA进行签名来完成的。

证书还包含服务器的域名,并被浏览器用来确认它所连接的站点与由CA颁发的证书中列出的站点相同。之后,进行加密。 

由于我们不使用CA颁发的本地开发证书,因此我们可以发出自签名证书,然后将此自签名证书添加到我们受信任的根证书颁发机构存储区。这样,你的浏览器将信任证书。

自签证书的安全性如何?

自签名证书通过HTTPS提供加密通信,就像证书颁发机构(CA)颁发的证书一样,至少连接一次。但这本身并不能使自签证书安全,例如,如果没有正确的安装和信任,自签名证书就容易受到中间攻击者的威胁。由于信任自签名证书的唯一方法是在受信任的根CA存储区中为访问该站点的每个设备手动导入证书,自签名证书默认情况下实际上是不安全的。

在本地主机上,由于没有与公共网站相同的安全要求。因此,使用自签名证书进行本地开发是为了能够使用HTTPS在本地开发。创建一个自签名证书,并在Windows上信任它,在Windows中使用ASP.NET Core创建自签名证书在Powershell中非常简单,我写了一个Powershell脚本来处理。

只需用管理员权限打开Powershell,在脚本中设置证书的密码,然后运行脚本。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

创建一个自签名证书,并在macOS上信任它

为你的证书创建配置文件:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

将内容粘贴到conf文件中并保存文件:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

确保OpenSSL库安装在macOS上,运行以下命令检查OpenSSL是否已安装:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

如果未安装OpenSSL,请使用brew安装OpenSSL:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

使用OpenSSL运行以下2个命令,使用OpenSSL在macOS中创建自签名证书:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

相信macOS上的自签名证书真的很简单,打开KeyChain Access应用程序(利用KeyChain的Spotlight搜索找到它)。

在“钥匙串”显示窗中选择“系统”,然后将.pfx证书拖到证书列表窗口中。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

要信任你的自签名证书,请双击你的证书,并在信任部分下选择始终信任。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

创建一个自签名证书并在Ubuntu Linux上信任它

在Ubuntu Linux中创建自签名证书更简单。所需要的是生成自签名证书的两个简单命令,以及将证书复制到可信存储的单个命令。

为你的证书创建配置文件:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

使用openssl运行以下2个命令,以在Ubuntu Linux中创建自签名证书:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

然后,运行以下certutil命令将证书添加到受信任的CA根存储区:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

要确认或列出使用certutil安装的受信任证书,请运行以下命令:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

要从受信任的CA根存储库中删除证书,请运行以下命令:

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

在ASP.NET核心中配置HTTPS

一旦你创建了一个自签名证书,并在Linux或Windows上的根CA存储中信任证书,则将ASP.NET Core配置为和HTTPS一样的过程。

首先将先前在Windows或Linux中创建的.pfx证书复制到项目目录的根目录。

然后,创建一个包含证书文件名和密码的certificate.json配置文件。我喜欢将它保存在一个单独的文件中,因为这样会使事情变得有步骤达到简化的目的。 ASP.NET Core 2允许你在appsettings.json中配置Kestrel和HTTPS,但由于配置非常复杂,我更喜欢这种更简单配置的方法。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

特别重要的是要明确地设置防伪令牌cookie以使用安全的cookie。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

完成更改后,只需构建并运行该项目,你就可以看到Chrome在没有任何警告信息的情况下运行,并将你的网站显示为安全的。

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南




原文发布时间为:2017年8月29日
本文作者:xiaohui 
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
打赏
0
0
0
0
26199
分享
相关文章
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
HTTPS 证书自动化运维:基础知识与重要性
随着互联网发展,HTTPS 成为保护网站和用户数据安全的标准协议。HTTPS 证书(SSL/TLS)验证网站身份并加密通信,分为 DV、OV 和 EV 三种类型,确保数据传输安全。它不仅提高安全性、增强用户信任,还能提升搜索引擎排名。手动管理证书繁琐易错,自动化运维工具如 Let`s Encrypt 和 Certbot 可简化流程,减少错误,提高效率。文章介绍了 HTTPS 证书的基础知识、重要性及自动化运维的概念。
HTTPS证书类型和品牌一览
HTTPS证书(SSL证书)是保障网站数据传输安全与身份可信认证的重要工具,适用于电商、企业官网等各类平台。证书主要分为DV(域名验证)、OV(企业验证)、EV(扩展验证)三种安全级别,以及单域名、通配符、多域名等不同覆盖类型。品牌方面,既有高性价比的国产锐安信、CFCA,也有国际知名的Sectigo、Digicert。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
HTTPS 证书自动化运维:展望未来发展趋势
HTTPS证书自动化运维正朝着更智能、高效和安全的方向发展。未来系统将提升自动化程度,减少人工干预,实现自动签发、续订与部署;深度集成多云平台,提供无缝管理体验;增强高级安全功能如加密算法和威胁检测;优化用户界面,降低使用门槛;支持更多操作系统,确保跨平台一致性;引入AI/ML技术,预测需求并自动解决问题;加强标准化与互操作性,促进生态系统协作。同时,系统将持续扩展功能、优化性能、支持国际化,并注重用户反馈,为全球用户提供优质的证书管理服务。
HTTPS 证书自动化运维:HTTPS 证书管理系统之使用指南
本文详细介绍【灵燕空间HTTPS证书管理系统】(https://www.lingyanspace.com)的配置与使用,涵盖注册账户、邮箱配置及证书自动签发、监控和部署的一体化指南。通过页面顶部菜单的【视频教程】和【图文教程】,帮助用户从注册到实际应用全面掌握系统操作。最新迭代后,泛域名证书已包含根域名,无需额外申请多域名证书。
HTTPS 证书自动化运维:HTTPS 证书管理系统之优势对比
本文详细介绍了一款功能强大的HTTPS证书管理系统,涵盖自动签发、更新、实时监控、部署一体化、自定义加密算法、集中管理和邮箱通知等功能。系统通过简化配置、智能引导、快速响应和多重防护等优势,确保企业和个人用户能高效、安全地管理证书,提升网站和应用的安全性。
HTTPS 证书自动化运维:使用Certbot来申请https证书实践指南
本文深入探讨HTTPS证书自动化运维,提供实践指南与案例分析。首先介绍选择合适的工具和平台,如Certbot、ACME客户端及图形化管理系统的应用。接着详细讲解使用Certbot签发Let’s Encrypt证书的步骤,并强调安全策略、权限管理和监控日志的重要性。通过中小型企业与大型电商平台的实际案例,展示自动化运维的优势。最后针对常见问题提供解决方案,帮助读者实现高效、安全的证书管理。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等