首页 > 解决方案 > 现有 https 证书添加通配符

问题描述

抱歉,如果重复,四处寻找,但找不到任何东西。

我有 4 个 URL,我想使用相同的证书。

dev.myapp    
qa.myapp    
dr.myapp    
myapp

我获得了通配符 *myapp 的证书。我正在开发中对此进行测试,但这似乎不起作用,AWS 告诉我通配符应该是 *.myapp

关于这个的几个问题。

1) 我可以更改现有证书以使用通配符 *.myapp 吗?但这会在我的产品“myapp”环境中工作吗?
2) 使用两个通配符 *myapp 和 *.myapp 是否正确?如果我可以在现有证书中添加通配符,同样的问题也适用。

标签: httpscertificate

解决方案


您不能更改已颁发的证书。没有人可以;如果他们可以,整个系统将是不安全的。

您可能可以做的是让 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,看看他们是否会以其中一种形式向您颁发新证书。


推荐阅读