我可以使用第二级域的私钥对第三级证书请求进行签名吗?

问题描述 投票:0回答:1

假设我拥有example.com的常规(非通配符)SSL证书。

我想成为example.com的所有子域的证书颁发机构。例如。我想对wiki.example.com发出证书请求,并使用example.com的私钥对其进行签名,该私钥由Comodo / Thawte / whatever签署。

浏览器会考虑证书链wiki.example.com-> example.com->解冻有效的证书吗?

ssl openssl certificate ssl-certificate
1个回答
0
投票

No。好吧,您可以使用example.com证书的私钥为wiki.example.com签名证书,并将example.com证书设置为wiki.example.com的“颁发者”,但是所有浏览器都会拒绝此类证书链。

原因是每个证书都有“密钥用法”字段。您的“ example.com”证书将具有以下允许的用法:

X509v3 Extended Key Usage: 
        TLS Web Server Authentication, TLS Web Client Authentication

[所有合理的SSL验证者都必须将此证书拒绝作为CA证书,因为CA证书必须为

X509v3 Key Usage: critical
            Certificate Sign, CRL Sign

更新

正如提到的@ dave_thompson_085,证书必须具有包含“ CA”布尔标志的字段“基本约束”。将位标志“ KeyUsage.keyCertSign”(在Openssl输出中为“ X509v3密钥用法:证书符号”)和“ BasicConstraints.CA”(在Openssl输出中为“ X509v3基本约束:CA”)一起声明(请参见RFC 5280, section 4.2.1.3)。

example.com的私钥仅在两个位都设置时才可用于中间CA。

© www.soinside.com 2019 - 2024. All rights reserved.