Sintaxe CAPolicy.inf

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 autoridade de certificação raiz e todos os certificados emitidos pela autoridade de certificação raiz. O ficheiro CAPolicy.inf deve ser instalado num servidor antes de começar a rotina de configuração da CA raiz. Quando as restrições de segurança em uma autoridade de certificação raiz devem ser modificadas, o certificado raiz deve ser renovado e um arquivo CAPolicy.inf atualizado deve ser instalado no servidor antes do início do processo de renovação.

O CAPolicy.inf é:

  • Criado e definido manualmente por um administrador

  • Utilizado na criação de certificados de autoridade de certificação, tanto de raiz como subordinados.

  • Definido na autoridade de certificação onde se assina e emite o certificado (não na autoridade de certificação onde a solicitação é concedida)

Depois de criar o arquivo CAPolicy.inf, você deve copiá-lo para a pasta %systemroot% do servidor antes de instalar o ADCS ou renovar o certificado da autoridade de certificação.

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

Estrutura do arquivo CAPolicy.inf

Os seguintes termos são usados para descrever a estrutura do arquivo .inf:

  • Seção – é uma área do arquivo que abrange um grupo lógico de chaves. Os nomes das seções nos 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, [Version] é a seção, Signature é a chave e "$Windows NT$" é o valor.

Example:

[Version]
Signature="$Windows NT$"

Version

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

PolicyStatementExtension

Lista as políticas que foram definidas pela organização e se elas são opcionais ou obrigatórias. Várias políticas são separadas 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 para essa política específica. Para cada política, você precisa fornecer um identificador de objeto definido pelo usuário (OID) e o texto que deseja exibir como a instrução de política ou um ponteiro de URL para a instrução de política. O URL pode estar na forma de um URL HTTP, FTP ou LDAP.

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

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

Se você for usar uma URL para hospedar a declaração de política de autoridade de certificação, as próximas três linhas terão a seguinte aparência:

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

Além disso, deve ter em atenção:

  • Várias chaves de URL e de notificação são suportadas.

  • As chaves de aviso e URL na mesma seção de política são suportadas.

  • URLs com espaços ou texto com espaços devem ser cercados por aspas. Isso é verdadeiro para a chave de URL , independentemente da seção em que ela aparece.

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

[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 autoridade de certificação raiz no CAPolicy.inf. Depois de instalar a autoridade de certificação, você pode configurar as URLs de CDP que a autoridade de certificação inclui em cada certificado emitido. O certificado raiz CA mostra as URLs especificadas nesta seção do arquivo CAPolicy.inf.

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

Suporte para Pontos de Distribuição de CRL (CDPs):

  • HTTP
  • URLs de ficheiros
  • LDAP URLs
  • Vários URLs

Important

Os CDPs (Pontos de Distribuição de CRL) não suportam URLs HTTPS.

  • As cotações devem cercar URLs com espaços.

  • 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 da CRL será omitida do certificado da autoridade de certificação raiz. Isso é preferível ao configurar uma autoridade de certificação raiz. O Windows não executa a verificação de revogação em um certificado de autoridade de certificação raiz, portanto, a extensão CDP é supérflua em um certificado de autoridade de certificação raiz.

  • A autoridade de certificação pode publicar no FILE UNC, por exemplo, em um compartilhamento que representa a pasta de um site onde um cliente recupera via HTTP.

  • Use esta seção somente se estiver configurando uma autoridade de certificação raiz ou renovando o certificado da autoridade de certificação raiz. A autoridade de certificação determina as extensões de CDP das autoridades de certificação subordinadas.

AuthorityInformationAccess

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

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

Mais algumas notas sobre a secção de acesso à informação da autoridade:

  • Vários URLs são suportados.

  • HTTP, FTP, LDAP e URLs de arquivo são suportados. URLs HTTPS não são suportados.

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

  • 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 da autoridade de certificação raiz. Novamente, esta seria a configuração preferida quando não existe autoridade superior a uma autoridade certificadora raiz que precise ser referenciada por uma ligação para o seu certificado.

certsrv_Server

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

Um exemplo seria parecido com:

[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 apenas para renovação. Isso só é usado quando um novo par de chaves é gerado durante a renovação do certificado da autoridade de certificação. O tamanho da chave do certificado CA inicial é definido quando a CA é instalada.

Ao renovar um certificado de autoridade de certificação com um novo par de chaves, o comprimento da chave pode ser aumentado ou diminuído. Por exemplo, se definir um tamanho de chave de autoridade de certificação raiz de 4096 bits ou superior e, em seguida, descobrir que possui aplicações Java ou dispositivos de rede que apenas conseguem suportar tamanhos de chave de 2048 bits. Se você aumentar ou diminuir o tamanho, deverá reemitir todos os certificados emitidos por essa autoridade de certificação.

RenewalValidityPeriod e RenewalValidityPeriodUnits estabelecem o tempo de vida do novo certificado de autoridade de certificação raiz ao renovar o certificado de autoridade de certificação raiz antigo. Somente se aplica a uma autoridade de certificação raiz. O tempo de vida do certificado de uma autoridade de certificação 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 destas configurações pode ser definida após a instalação da autoridade de certificação:

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 Ative Directory para que as alterações entrem em vigor.

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

Em uma instalação padrão da CA, um subconjunto dos modelos padrão de certificados é adicionado à pasta Modelos de Certificado no snap-in Autoridade de Certificação. Isso significa que, assim que o serviço AD CS for iniciado após a instalação da função, um usuário ou computador com permissões suficientes poderá se inscrever imediatamente para obter um certificado.

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

AlternateSignatureAlgorithm configura a autoridade de certificação para oferecer suporte ao formato de assinatura PKCS#1 V2.1 para o certificado da autoridade de certificação e as solicitações de certificado. Quando definido como 1 em uma autoridade de certificação raiz, o certificado da autoridade de certificação incluirá o formato de assinatura PKCS#1 V2.1. Quando definida em uma autoridade de certificação subordinada, a autoridade de certificação subordinada criará uma solicitação de certificado que inclui o formato de assinatura PKCS#1 V2.1.

ForceUTF8 altera a codificação padrão de nomes distintos relativos (RDNs) em nomes distintos de Assunto e Emissor para UTF-8. Somente os RDNs que suportam UTF-8, como aqueles que são definidos como tipos de cadeia de caracteres de diretório por uma RFC, são afetados. Por exemplo, o RDN para Componente de Domínio (DC) suporta codificação como IA5 ou UTF-8, enquanto o RDN para País (C) suporta apenas codificação como Cadeia Imprimível. Portanto, a diretiva ForceUTF8 afetará um RDN DC, mas não afetará um RDN C.

EnableKeyCounting configura a autoridade de certificação para incrementar um contador sempre que a chave de assinatura da autoridade de certificação é usada. Não habilite essa configuração a menos que você tenha um HSM (Hardware Security Module) e um CSP (provedor de serviços de criptografia) associado que ofereça suporte à contagem de chaves. A contagem de chaves não é suportada pelo Microsoft Strong CSP nem pelo Microsoft Software Key Storage Provider (KSP).

Criar o arquivo CAPolicy.inf

Antes de instalar o AD CS, configure o arquivo CAPolicy.inf com configurações específicas para sua implantação.

Pré-requisito: Tem de ser membro do grupo Administradores.

  1. No computador onde pretende instalar o AD CS, abra o Windows PowerShell, escreva notepad.exe e prima ENTER.

  2. Insira 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, em seguida, selecione Salvar como.

  4. Navegue até a pasta %systemroot% .

  5. Certifique-se de que as seguintes opções estão definidas:

    • O nome do arquivo é definido como CAPolicy.inf

    • Salvar como tipo está definido como Todos os arquivos

    • A codificação é ANSI

  6. Selecione Guardar.

  7. Quando lhe for pedido para substituir o ficheiro, selecione Sim.

    Guardar como localização para o ficheiro CAPolicy.inf

    Caution

    Certifique-se de salvar o CAPolicy.inf com a extensão inf. Se você não digitar especificamente .inf no final do nome do 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 autoridade de certificação.

  8. Feche o Bloco de Notas.

Important

No CAPolicy.inf, você pode ver que há uma linha especificando 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 se especificaria o local de uma declaração de práticas de certificação (CPS). Neste guia, você não é instruído a criar a declaração de prática de certificado (CPS).