通配符不适用于子子域?

我有一个通配的SSL为某个域,为了问题的目的,我们说*.example.com 。 如果我匹配像aaaa.example.com这样的直接子域,但是当我尝试关联像aaa.bbb.example.com这样的子子域时,我的浏览器中出现安全错误

aaa.bbb.example.com和* .example.com不匹配

这是正常行为还是我可以进一步调查?

只是为了帮助这里是我的CRT的内容:

 -----BEGIN CERTIFICATE----- MIIFGTCCBAGgAwIBAgISESH5zsC/3lJ1F9owE9tmDTj+MA0GCSqGSIb3DQEBBQUA MF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTMwMQYD VQQDEypHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIENBIC0gRzIw HhcNMTIwODEzMDgxNTAyWhcNMTMwNzI1MTU0MTE5WjBhMQswCQYDVQQGEwJGUjEW MBQGA1UECBMNSWxlLWRlLUZyYW5jZTEOMAwGA1UEBxMFUEFSSVMxFTATBgNVBAoT DGNvbm5lY3RoaW5nczETMBEGA1UEAwwKKi5hZHRhZy5mcjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALWn1m2ZqrOmZgssMNcu9+IqsFi1jLAmj0fdSRy/ H1X7f5aZX/HYw10UBTTb4M16UUM97RrQz18YHIyUvAT/vtFyWWSY1qQOQSLnAkGp UCvkOeWqvm9dG0Lc8OPuhvjhp/m8GKkrvGM0XSzpMedgVMlnpO/dg6j2mHpZ7vnf vM9p0eW4GOHwh4S0etWrj3ReMykFgGoHgNqrmChJ4OdiKzs7KxVamZQ5AieTJpHN jlQYCi6IuZCRrLHOC6F4Ficjfgvl4ChQZDrSI1ob+WqMWtNIFc1QEY2U4A/fo75x baFILMAZhD/wdbL9WvfVOMcUP98bobIrzs60uvzVIB+DMUUCAwEAAaOCAc0wggHJ MA4GA1UdDwEB/wQEAwIFoDBMBgNVHSAERTBDMEEGCSsGAQQBoDIBFDA0MDIGCCsG AQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAf BgNVHREEGDAWggoqLmFkdGFnLmZygghhZHRhZy5mcjAJBgNVHRMEAjAAMB0GA1Ud JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBFBgNVHR8EPjA8MDqgOKA2hjRodHRw Oi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzL2dzb3JnYW5pemF0aW9udmFsZzIuY3Js MIGWBggrBgEFBQcBAQSBiTCBhjBHBggrBgEFBQcwAoY7aHR0cDovL3NlY3VyZS5n bG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Nvcmdhbml6YXRpb252YWxnMi5jcnQwOwYI KwYBBQUHMAGGL2h0dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9nc29yZ2FuaXph dGlvbnZhbGcyMB0GA1UdDgQWBBQeYAmRFj71H9Gd5vF4VXKa3ciAcDAfBgNVHSME GDAWgBRdRrKNxEt0HLvt9XO2Orc4j3WefjANBgkqhkiG9w0BAQUFAAOCAQEAY+K4 KpGyAc+H1wEKBNZ5eET8WwNevDrtZtLD8EbUPBzHoJaMzQpob4r6ax9pR13zoN9Q gjujbuKSAbCBCkoOAKbjKZj4CXTPc004TNsDutRqIXflhSV+uhBdU1FqS4Ec90GY QKcLII3iRnnlm9xNFHc+uidt0JkYlR8KHwmuP22XTEP/UkQGfOtKEY1+UM8BhQRU 5PSdoZv64E1wvA6fgVmnqBixwwAqF/PFxExlLtEw0jfDLpU72vgJ1Wt0y2/SpF33 gsh0Vh+TtltjnqQu62aR7LUPCEfxXfIpUkPJeNgNQwDEk81UKcz7zZnwc4l2ebE8 +2qd7XzDj9OPiVwtlA== -----END CERTIFICATE----- 

从RFC 2818 :

匹配使用[RFC2459]指定的匹配规则执行。 如果证书中存在给定types的多个身份(例如,多个dNSName名称,则任何一个集合中的匹配被认为是可接受的)。名称可以包含通配符*,其被认为匹配任何单个域名组件或组件片段。 例如, .a.com与foo.a.com匹配,但不匹配bar.foo.a.com。 f.com匹配foo.com,但不是bar.com。

为了解决这个问题,已经引入了UCC证书,也就是具有主题备用名称(SAN)的通配符证书,允许您指定(连同不同的域名)多个级别的子域作为证书的有效主机名。 所有主stream浏览器都支持这些证书。

通配符证书不支持子子域。 换句话说,它们只适用于当前的域名级别。

所以,如果您为*.foo.com购买证书,它也不会保护*.bar.foo.com

网上有各种资源,包括Verisign,GlobalTrust等等。 这糟透了我知道!

这是预料之中的。 摘自RFC2818 – HTTP over TLS :

名称可以包含通配符*,该符号被认为与任何单个域名组件或组件片段相匹配。 例如,* .a.com与foo.a.com匹配,但不匹配bar.foo.a.com。 f * .com与foo.com匹配,但不是bar.com。

进一步调查导致你的激怒的证书范围问题:

从技术上讲,可以为*。*。domain.com创build一个证书,我自己做了这个,但是浏览器不支持这个。

在“ 二级子域的通配符SSL证书 ”中提到了一些testing结果。