Sintaxe CAPolicy.inf

O CAPolicy.inf é um arquivo de configuração que define as extensões, restrições e outras configurações que são aplicadas a um certificado de AC raiz e a todos os certificados emitidos pela AC raiz. O arquivo CAPolicy.inf deve ser instalado em um servidor host antes do início da rotina de instalação da AC raiz. Quando as restrições de segurança em uma AC raiz devem ser modificadas, o certificado raiz deve ser renovado e deve ser instalado no servidor um arquivo CAPolicy.inf atualizado antes do inicio do processo de renovação.

O CAPolicy.inf é:

  • Criado e definido manualmente por um administrador

  • Utilizado durante a criação de certificados de AC raiz e subordinada

  • Definido na AC de assinatura em que você assina e emite o certificado (não na AC em que a solicitação é concedida)

Depois de criar o arquivo CAPolicy.inf, você deve copiá-lo na pasta %systemroot% do servidor antes de instalar os ADCS ou renovar o Certificado de Autoridade de Certificação.

O CAPolicy.inf possibilita especificar e configurar uma ampla variedade de atributos e opções de AC. A seção a seguir descreve todas as opções para você criar um arquivo .inf adaptado às suas necessidades específicas.

Estrutura de arquivos CAPolicy.inf

Os seguintes termos são usados para descrever a estrutura de arquivos .inf:

  • Seção – é uma área do arquivo que abrange um grupo lógico de chaves. Os nomes de seção em arquivos .inf são identificados aparecendo entre colchetes. Muitas seções, mas não todas, são usadas para configurar extensões de certificado.

  • Chave – é o nome de uma entrada e aparece à esquerda do sinal de igual.

  • Valor – é o parâmetro e aparece à direita do sinal de igual.

No exemplo a seguir, [Versão] é a seção , Signature é a chave e "$Windows NT$" é o valor.

Exemplo:

[Version]
Signature="$Windows NT$"

Versão

Identifica o arquivo como um arquivo .inf. A versão é a única seção necessária e deve estar no início do arquivo CAPolicy.inf.

PolicyStatementExtension

Lista as políticas que foram definidas pela organização e se elas são opcionais ou obrigatórias. Políticas múltiplas são separados por vírgulas. Os nomes têm significado no contexto de uma implantação específica ou em relação a aplicativos personalizados que verificam a presença dessas políticas.

Para cada política definida, deve haver uma seção que defina as configurações dessa política específica. Para cada política, você precisa fornecer um OID (identificador de objeto definido pelo usuário), além do texto que você deseja que seja exibido como a instrução de política ou um ponteiro de URL para a instrução de política. A URL pode estar na forma de uma URL HTTP, FTP ou LDAP.

Se você tiver texto descritivo na instrução de política, as próximas três linhas do CAPolicy.inf serão assim:

[InternalPolicy]
OID=1.1.1.1.1.1.1
Notice="Legal policy statement text"

Se você usar uma URL para hospedar a instrução de política da AC, as próximas três linhas serão assim:

[InternalPolicy]
OID=1.1.1.1.1.1.2
URL=https://pki.wingtiptoys.com/policies/legalpolicy.asp

Além disso, observe que:

  • Há suporte para várias chaves de URL e de aviso.

  • Há suporte para chaves de URL e de aviso na mesma seção de política.

  • URLs com espaços ou texto com espaços devem ser colocados entre aspas. Isso é fato para a chave de URL, independentemente da seção na qual ela aparece.

Um exemplo de vários avisos e URLs em uma seção de política seria assim:

[InternalPolicy]
OID=1.1.1.1.1.1.1
URL=https://pki.wingtiptoys.com/policies/legalpolicy.asp
URL=ftp://ftp.wingtiptoys.com/pki/policies/legalpolicy.asp
Notice="Legal policy statement text"

CRLDistributionPoint

Você pode especificar CDPs (Pontos de distribuição de CRL) para um certificado de AC raiz no CAPolicy.inf. Depois de instalar a AC, você pode configurar as URLs de CPD que a AC inclui em cada certificado emitido. O certificado de AC raiz mostra as URLs especificadas nesta seção do arquivo CAPolicy.inf.

[CRLDistributionPoint]
URL=http://pki.wingtiptoys.com/cdp/WingtipToysRootCA.crl

Suporte aos Pontos de distribuição de CRL (CDPs):

  • HTTP
  • URLs de arquivo
  • LDAP URLs
  • Várias URLs

Importante

Os CDPs não dão suporte a URLs HTTPS.

  • URLs com espaços deve estar entre aspas.

  • Se nenhuma URL for especificada, ou seja, se a seção [CRLDistributionPoint] existir no arquivo, mas estiver vazia, a extensão do Ponto de distribuição de CRL será omitida do certificado de AC raiz. Isso é preferível ao configurar uma AC raiz. O Windows não executa verificação de revogação em um certificado de AC raiz, portanto, a extensão CDP é supérflua em um certificado de AC raiz.

  • A AC pode publicar no FILE UNC, por exemplo, em um compartilhamento que representa a pasta de um site em que um cliente recupera via HTTP.

  • Use esta seção somente se você estiver configurando uma AC raiz ou renovando o certificado de AC raiz. A AC determina as extensões CPD de AC subordinadas.

AuthorityInformationAccess

Você pode especificar os pontos de acesso às informações da autoridade no CAPolicy.inf para o certificado de AC raiz.

[AuthorityInformationAccess]
URL=http://pki.wingtiptoys.com/Public/myCA.crt

Algumas outras observações sobre a seção de acesso às informações da autoridade:

  • Há suporte para várias URLs.

  • Há suporte para URLs HTTP, FTP, LDAP e FILE. Não há suporte para URLs HTTPS.

  • Esta seção é usada somente se você estiver configurando uma AC raiz ou renovando o certificado de AC raiz. As extensões AIA da AC subordinada são determinadas pela AC que emitiu o certificado de AC subordinada.

  • As URLs com espaços devem estar entre aspas.

  • Se nenhuma URL for especificada, ou seja, se a seção [AuthorityInformationAccess] existir no arquivo, mas estiver vazia, a extensão de Acesso às informações da autoridade será omitida do certificado de AC raiz. Novamente, essa seria a configuração preferencial quando não há autoridade maior que a AC raiz que precisaria ser referenciada por um link para seu certificado.

certsrv_Server

A seção [certsrv_server] do CAPolicy.inf é opcional. A [certsrv_server] é usada para especificar o comprimento da chave de renovação, o período de validade de renovação e o período de validade da CRL (lista de certificados revogados) para uma AC que está sendo renovada ou instalada. Nenhuma das chaves nesta seção é necessária. Muitas dessas configurações têm valores padrão suficientes para a maioria das necessidades e podem ser omitidos do arquivo CAPolicy.inf. Como alternativa, muitas dessas configurações podem ser alteradas após a instalação da AC.

Confira um exemplo a seguir:

[certsrv_server]
RenewalKeyLength=2048
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=5
CRLPeriod=Days
CRLPeriodUnits=2
CRLDeltaPeriod=Hours
CRLDeltaPeriodUnits=4
ClockSkewMinutes=20
LoadDefaultTemplates=True
AlternateSignatureAlgorithm=0
ForceUTF8=0
EnableKeyCounting=0

RenewalKeyLength define o tamanho da chave somente para renovação. Isso só é usado quando um novo par de chaves é gerado durante a renovação do Certificado de Autoridade de Certificação. O tamanho da chave para o Certificado de Autoridade de Certificação inicial é definido quando a AC é instalada.

Ao renovar um Certificado de Autoridade de Certificação com um novo par de chaves, o comprimento da chave pode ser aumentado ou reduzido. Por exemplo, se você tiver definido um tamanho de chave da AC raiz de 4096 bytes ou superior e descobrir que você tem aplicativos Java ou dispositivos de rede que só podem dar suporte a tamanhos de chave de 2048 bytes. Se você aumentar ou diminuir o tamanho, é preciso reemitir todos os certificados emitidos por essa AC.

RenewalValidityPeriod e RenewalValidityPeriodUnits estabelecem o tempo de vida do novo certificado de AC raiz ao renovar o certificado de AC raiz antigo. Eles só se aplicam a uma AC raiz. O tempo de vida do certificado de uma AC subordinada é determinado por seu superior. RenewalValidityPeriod pode ter os seguintes valores: horas, dias, semanas, meses e anos.

CRLPeriod e CRLPeriodUnits estabelecem o período de validade para a CRL base. CRLPeriod pode ter os seguintes valores: horas, dias, semanas, meses e anos.

CRLDeltaPeriod e CRLDeltaPeriodUnits estabelecem o período de validade da CRL delta. CRLDeltaPeriod pode ter os seguintes valores: horas, dias, semanas, meses e anos.

Cada uma dessas configurações pode ser configurada depois que a AC for instalada:

Certutil -setreg CACRLPeriod Weeks
Certutil -setreg CACRLPeriodUnits 1
Certutil -setreg CACRLDeltaPeriod Days
Certutil -setreg CACRLDeltaPeriodUnits 1

Lembre-se de reiniciar os Serviços de Certificados do Active Directory para que as alterações entrem em vigor.

LoadDefaultTemplates só se aplica durante a instalação de uma AC corporativa. Essa configuração, True ou False (1 ou 0), determina se a AC está configurada com um dos modelos padrão.

Em uma instalação padrão da AC, um subconjunto dos modelos de certificado padrão é adicionado à pasta Modelos de Certificado no snap-in da Autoridade de Certificação. Isso significa que logo após o início dos serviços dos AD CS, após a instalação da função, um usuário ou computador com permissões suficientes pode se registrar imediatamente para obter um certificado.

Não é aconselhável emitir certificados imediatamente após a instalação de uma AC, portanto, você pode usar a configuração LoadDefaultTemplates para impedir que os modelos padrão sejam adicionados à AC corporativa. Se não houver modelos configurados na AC, ela não poderá emitir certificados.

AlternateSignatureAlgorithm configura a AC para dar suporte ao formato de assinatura PKCS#1 V2.1 para as solicitações de certificado e de Certificado de Autoridade de Certificação. Quando definida como 1 em uma AC raiz, o Certificado de Autoridade de Certificação incluirá o formato de assinatura PKCS#1 V2.1. Quando definida em uma AC subordinada, a AC subordinada criará uma solicitação de certificado que inclui o formato de assinatura PKCS#1 V2.1.

ForceUTF8 altera a codificação padrão dos RDNs (nomes distintos relativos) em nomes diferenciados de Entidade e Emissor para UTF-8. Somente os RDNs que dão suporte a UTF-8, como aqueles definidos como tipos de cadeia de caracteres de diretório por um RFC, são afetados. Por exemplo, o RDN para DC (Componente de Domínio) dá suporte à codificação como IA5 ou UTF-8, enquanto o RDN (C) de país somente dá suporte à codificação como uma cadeia de caracteres imprimível. Portanto, a diretiva ForceUTF8 afetará um RDN para DC, mas não afetará um RDN C.

EnableKeyCounting configura a AC para incrementar um contador sempre que a chave de assinatura da AC é usada. Não habilite essa configuração, a menos que você tenha um HSM (Módulo de Segurança de Hardware) e um CSP (provedor de serviços criptográficos) associados com suporte à contagem de chaves. A contagem de chaves não é compatível com o CSP do Microsoft Strong ou o suporte do KSP (Provedor de Armazenamento de Chaves de Software) da Microsoft.

Criar o arquivo CAPolicy.inf

Configurar o arquivo CAPolicy.inf com configurações específicas para sua implantação antes de instalar os AD CS.

Pré-requisitos: você deve ser membro do grupo de administradores.

  1. No computador em que você planeja instalar os AD CS, abra o Windows PowerShell, digite notepad.exe e pressione ENTER.

  2. Digite o seguinte texto:

    [Version]
    Signature="$Windows NT$"
    [PolicyStatementExtension]
    Policies=InternalPolicy
    [InternalPolicy]
    OID=1.2.3.4.1455.67.89.5
    Notice="Legal Policy Statement"
    URL=https://pki.corp.contoso.com/pki/cps.txt
    [Certsrv_Server]
    RenewalKeyLength=2048
    RenewalValidityPeriod=Years
    RenewalValidityPeriodUnits=5
    CRLPeriod=weeks
    CRLPeriodUnits=1
    LoadDefaultTemplates=0
    AlternateSignatureAlgorithm=1
    [CRLDistributionPoint]
    [AuthorityInformationAccess]
    
  3. Selecione Arquivo e Salvar como.

  4. Navegue até a pasta %systemroot%.

  5. Verifique se as opções a seguir estão definidas:

    • Nome do arquivo é definido como CAPolicy. inf

    • Salvar como tipo está definido como Todos os Arquivos

    • Codificação é ANSI

  6. Clique em Salvar.

  7. Quando o programa perguntar se você deseja substituir o arquivo, selecione Sim.

    Local de Salvar como para o arquivo CAPolicy.inf

    Cuidado

    Verifique se você salvou o CAPolicy.inf com a extensão inf. Se você não digitar .inf especificamente no final do nome de arquivo e selecionar as opções conforme descrito, o arquivo será salvo como um arquivo de texto e não será usado durante a instalação da AC.

  8. Feche o Bloco de notas.

Importante

No CAPolicy.inf, você pode ver que há uma linha que especifica a URL https://pki.corp.contoso.com/pki/cps.txt. A seção Política Interna do CAPolicy.inf é mostrada apenas como um exemplo de como você poderia especificar o local de uma CPS (declaração de prática de certificação). Neste guia, você não será orientado a criar a instrução de prática de certificado (CPS).