No arquivo de configuração do OpenSSL que você usou para a solicitação do CA A
, você deve ter um basicConstraints
como mostrado abaixo:
[req]
prompt = no
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
organizationalUnitName = Test Certificate Authority
commonName = Test Subordinate CA
[ v3_req ]
basicConstraints = critical; CA:TRUE
O mesmo vale para o Root. Você não deve defini-lo na solicitação de B
.
Como alternativa, o arquivo de configuração do OpenSSL que você usou para Root
ao assinar a si mesmo e o CA A
deve ter:
[ ca ]
default_ca = CA_default
[ CA_default ]
x509_extensions = x509_ext
[ x509_ext ]
basicConstraints = critical; CA:TRUE
Mais informações sobre CA:TRUE
podem ser obtidas da documentação do OpenSSL e de RFC 5280 seção 4.2.1.9