Eu tenho uma CA raiz autônoma (RootCA) e uma CA subordinada corporativa (SubCA). Ambos Windows Server 2019.
O RootCA parece ignorar as definições de configuração do arquivo CAPolicy.inf, ao tentar assinar o CSR do SubCA, conforme mostrado na visualização de propriedades da solicitação pendente:
O CAPolicy.inf no RootCA ( %SystemRoot%\CAPolicy.inf
) é este:
[Version]
Signature= "$Windows NT$"
[Strings]
szOID_KEY_USAGE = "2.5.29.15"
[Extensions]
%szOID_KEY_USAGE% = AwIBhg==
Critical = %szOID_KEY_USAGE%
Durante a instalação do RootCA, o CAPolicy.inf foi usado para tornar crítica a extensão KeyUsage do certificado raiz. Isso pode ser visto nas propriedades do certificado raiz, bem como no certocm.log:Opened Policy inf: C:\Windows\CAPolicy.inf
A documentação afirma
O CAPolicy.inf é um arquivo de configuração que define as extensões, restrições e outras definições de configuração que são aplicadas a um certificado de CA raiz e a todos os certificados emitidos pela CA raiz .
Então, por que o RootCA ignora o CAPolicy.inf ao emitir um certificado (SubCA), apesar dos documentos afirmarem o contrário?
Se o CSR tiver a
BasicConstraint
extensão definida paraCA=True
o CA, o padrão será o que você vê acima. Você pode substituir isso executando o seguinte na CA de assinatura (a Raiz):Reinicie o serviço e tente novamente.