https - 现有 https 证书添加通配符
问题描述
抱歉,如果重复,四处寻找,但找不到任何东西。
我有 4 个 URL,我想使用相同的证书。
dev.myapp
qa.myapp
dr.myapp
myapp
我获得了通配符 *myapp 的证书。我正在开发中对此进行测试,但这似乎不起作用,AWS 告诉我通配符应该是 *.myapp
关于这个的几个问题。
1) 我可以更改现有证书以使用通配符 *.myapp 吗?但这会在我的产品“myapp”环境中工作吗?
2) 使用两个通配符 *myapp 和 *.myapp 是否正确?如果我可以在现有证书中添加通配符,同样的问题也适用。
解决方案
您不能更改已颁发的证书。没有人可以;如果他们可以,整个系统将是不安全的。
您可能可以做的是让 CA 颁发一个新的(有些)不同的证书来替换有问题的证书。许多可能大多数 CA 都提供了这样做的规定,无需重复身份和/或域“所有权”证明,也无需额外费用(如果有),但详细信息取决于 CA,有时您购买的功能会有所不同,但您可能没有仔细识别,无法给出具体答案。
此外,我假设您提供的名称是伪造的,因为myapp
它不是 TLD,如果是,您将无法控制它,而且根本没有人可以控制 TLD 的后缀。假设您的实际姓名更像是:
1 example.com
2 dev.example.com
3 qa.example.com
4 dr.example.com
并且您是(或至少是控制权)的“所有者” example.com
,则通配符证书*.example.com
匹配 2-4 但不匹配 1。没有匹配所有四个的通配符。
但是,SSL/TLS 证书(包括 HTTPS)不限于单个名称:它们支持可以有多个名称的 SubjectAlternativeNames 扩展。这通常缩写为 SAN,也称为“多域”或在 Microsoft 世界中的“UCC”。在过去的几十年中,CA 经常为此收取额外费用,但近年来它已普遍包含在基本服务中。例如,如果您现在购买/请求www.example.com
许多 CA 的证书,实际上会SAN=www.example.com,example.com
自动为您提供。(确切地说,SAN=dnsName:www.example.com,dnsName:example.com
因为 SAN 还可以做一些与 SSL/TLS/HTTPS 无关的其他事情。)
对于您的情况,SAN=example.com,*.example.com
将完成您想要的。也会如此SAN=example.com,dev.example.com,qa.example.com,dr.example.com
,尽管这会将您的子域名“公开”给任何监视和/或启动与您服务器的连接的人。请咨询您的 CA,看看他们是否会以其中一种形式向您颁发新证书。
推荐阅读
- vba - 将字体的填充颜色更改为渐变
- bash - 将当前日期添加到主管中的日志文件名
- google-maps - Flutter如何绘制倍数标记
- spring-boot - 通过 Azure 上的 Spring Controller 下载异步 servlet pdf
- python - 如何更有效地计算python列表成员
- python - 如何根据它们的值将 (y) 刻度分为左右两侧以使其可见?
- azure - 在 Azure KeyVault 机密版本上编辑现有标记值
- python - Scrapy spider 在检查所有链接之前提前完成
- python - 如何立即打破while循环
- postgresql - PostgreSQL | 如何在 Sql Inserts 中属性索引更新时间