Compartilhar via


Renovação da autoridade de certificação

Os Serviços de Certificados dão suporte à renovação de uma AC (autoridade de certificação ). A renovação é a emissão de um novo certificado para que a AC estenda a vida útil da AC além da data de término de seu certificado original. Você pode renovar uma AC como uma tarefa no snap-in MMC da Autoridade de Certificação ou usando a ferramenta Certutil.exe (com o comando -renewCert ).

Cada renovação resulta em um novo certificado de autoridade de certificação; no entanto, o administrador pode gerar um novo par de chaves públicas/privadas ou reutilizar o par de chaves pública/privada existente para o certificado de AC. Para consistência e integridade, certificados de AUTORIDADE e CRL ( listas de revogação de certificado ) emitidos pela AC antes de sua renovação estarão disponíveis após a renovação da AC. Para disponibilizá-los, os Serviços de Certificados mantêm um índice de certificados de AUTORIDADE, CRLs e chaves.

Os índices e os nomes de sufixo de certificados de AC e CRLs durante várias operações de renovação de AC são os seguintes.

Operação Índice de certificado da AC Sufixo de nome de arquivo de certificado da AC CRL e índice de chave Sufixo de nome de contêiner de chave e CRL
Instalação da AC original 0 "" 0 ""
Renovação com nova chave 1 "(1)" 1 "(1)"
Chave de reutilização de renovação 2 "(2)" 1 "(1)"
Chave de reutilização de renovação 3 "(3)" 1 "(1)"
Renovação com nova chave 4 "(4)" 4 "(4)"
Chave de reutilização de renovação 5 "(5)" 4 "(4)"
Renovação com nova chave 6 "(6)" 6 "(6)"
Chave de reutilização de renovação 7 "(7)" 6 "(6)"

 

Quando uma AC é instalada, o índice de certificado é zero e o sufixo de certificado é "" (uma cadeia de caracteres vazia). Cada vez que o certificado é renovado (se as chaves são reutilizados ou não), o índice de certificado é incrementado por um e o sufixo de nome do arquivo de certificado se torna uma cadeia de caracteres do formulário "(n)", em que n representa o número de vezes que o certificado de AUTORIDADE foi renovado. Após a primeira renovação, o índice de certificado é 1 e o sufixo do nome do arquivo de certificado é "(1)". Após a segunda renovação, o índice de certificado é 2 e o sufixo de nome de arquivo de certificado é "(2)", e assim por diante.

Embora o índice de certificado de AUTORIDADE e o sufixo sejam incrementados por um cada vez que a AC for renovada, os índices crl e key e os sufixos de nome de arquivo serão definidos como o índice de certificado de AUTORIDADE somente se o processo de renovação incluir um novo par de chaves públicas/privadas. Se isso não acontecer, os valores desses índices e sufixos permanecerão os mesmos que eram para o último índice. Durante a renovação, um administrador especifica se um novo par de chaves é gerado ou se o par de chaves existente é usado. (No snap-in MMC da Autoridade de Certificação, uma opção na interface do usuário especifica um par de chaves novo ou existente; na ferramenta Certutil.exe, o comando certutil -renewCert renova a AC com um novo par de chaves, enquanto o comando certutil -renewCert ReuseKeys renova a AC com o par de chaves existente.)

O índice CRL está diretamente vinculado ao índice de chave, que é definido como o índice de certificado de AUTORIDADE somente quando um novo par de chaves é usado para a renovação. Após a primeira renovação (que usou um novo par de chaves), o índice da CRL e da chave é definido como 1 e o sufixo CRL e nome do contêiner de chaves é "(1)". Após a segunda renovação, no entanto, o índice da CRL e da chave permanece 1, e o sufixo crl e nome do contêiner de chave também permanece "(1)"; isso ocorre porque a segunda renovação usou o par de chaves existente e apenas uma CRL é emitida para cada par de chaves de AC.

Você pode recuperar os certificados de AC indexados e as CRLs chamando o método GetCertificateProperty (nas interfaces ICertServerExit e ICertServerPolicy ). Ao recuperar determinadas propriedades relacionadas ao certificado de autoridade de certificação ou CRL, você pode acrescentar o índice baseado em zero do certificado de AC aos nomes de propriedade. Por exemplo, para recuperar o índice CRL que corresponde ao terceiro certificado da AC, passe a propriedade "CRLIndex.2" para ICertServerPolicy::GetCertificateProperty; para a tabela, o valor da propriedade "CRLIndex.2" recuperado seria 1. Uma propriedade chamada "CertCount" pode ser usada para determinar o número de vezes que a AC foi emitida um certificado de autoridade de certificação.

Certificados e CRLs de AC contêm uma extensão que fornece informações sobre o certificado e o índice de chave. A extensão é definida em Wincrypt.h como szOID_CERTSRV_CA_VERSION com um valor "1.3.6.1.4.1.311.21.1". Os dados de extensão são um valor DWORD (codificado como X509_INTEGER na extensão); os 16 bits baixos são o índice de certificado e os 16 bits altos são o índice de chave.

A instalação inicial de uma AC produz um índice de certificado zero e um índice de chave zero. A renovação de um certificado de autoridade de certificação fará com que o índice de certificado seja incrementado. Se a chave for reutilizado na renovação, o índice de chave será o mesmo que o índice de chave anterior. Se a chave não for reutilizado, o índice de chave corresponderá ao novo índice de certificado.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty