Estou tentando descobrir como fazer Subordinação qualificada com a extensão crítica definida, mas não consigo descobrir como fazer isso no MSFT AD CS.
Para um determinado certificado, como posso ter certeza de que as restrições de nome estão definidas adequadamente no certificado emitido?
Editar
Trabalho feito até agora (veja o histórico de edições para mais trabalhos):
Eu instalei um sub CA aqui seguindo estas instruções .
The name constraints are configured in one of two locations. When
creating a new CA, you can define name constraints for that CA by
configuring CAPolicy.inf to impose name constraints. Likewise, if you
are creating a qualified subordinate CA certificate, you would define
name constraints in the Policy.inf file. In both cases, the following
syntax is used:
[NameConstraintsExtension]
Include = NameConstraintsPermitted
Exclude = NameConstraintsExcluded
Critical = TrUe
[NameConstraintsPermitted]
DNS = ""
email=""
UPN=""
[NameConstraintsExcluded]
DNS = .nwtraders.com
email = @nwtraders.com
UPN = .nwtraders.com
UPN = @nwtraders.com
URI = ftp://.nwtraders.com
DIRECTORYNAME = "DC=NWtraders, DC=com"
Meu capolicy.inf na subCA é isso
[Version]
Signature="$Windows NT$"
[PolicyStatementExtension]
Policies=LegalPolicy
[LegalPolicy]
OID=1.2.3.4.1455.67.89.5
Notice="Legal Policy Statement"
URL=http://pki.bitclear.us/pki/cps.txt
[Certsrv_Server]
RenewalKeyLength=2048
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
LoadDefaultTemplates=0
AlternateSignatureAlgorithm=1
# ForceUTF8=0
[CRLDistributionPoint]
Empty=True
[AuthorityInformationAccess]
Empty=True
[BasicConstraintsExtension]
PathLength=1
Critical=Yes
[NameConstraintsExtension]
Include = NameConstraintsPermitted
Exclude = NameConstraintsExcluded
Critical = True
[NameConstraintsPermitted]
DirectoryName = "DC=gg, DC=Com"
email = @gg.com
UPN = .gg.com
UPN = @gg.com
#[EnhancedKeyUsageExtension]
#OID=1.3.6.1.5.5.7.3.4 ; Secure Email
#OID=1.3.6.1.4.1.311.20.2.2 ; Smart Card Logon
#Critical=No
# on a sub CA do this: Certutil –setreg Policy\CAPathLength 2
my policy.inf no SubCA e no rootCA é isso
[Version]
Signature= "$Windows NT$"
[RequestAttributes]
CertificateTemplate = SubCA
[PolicyStatementExtension]
Policies = HighAssurancePolicy, MediumAssurancePolicy, LowAssurancePolicy
CRITICAL = FALSE
[HighAssurancePolicy]
OID = 1.3.6.1.4.1.311.21.8.2473717464.1095930238.502626717.506190032.1.402
[MediumAssurancePolicy]
OID = 1.3.6.1.4.1.311.21.8.2473717464.1095930238.502626717.506190032.1.401
[LowAssurancePolicy]
OID = 1.3.6.1.4.1.311.21.8.2473717464.1095930238.502626717.506190032.1.400
[NameConstraintsExtension]
Include = NameConstraintsPermitted
Exclude = NameConstraintsExcluded
Critical = True
[NameConstraintsPermitted]
DirectoryName = "DC=g, DC=Com"
email = @g.com
UPN = .g.com
UPN = @g.com
[NameConstraintsExcluded]
Não importa quantas vezes eu reinicie o subCA, ou reinstale o subCA, ou reinicie o rootCA Não é possível obter uma restrição de nome visível no pedido do subCA (via certutil - dump) ou quando visualizo o certificado que é emitido no MMC.
Sei que isso é possível porque um dump com restrições de nome está disponível aqui