Evite e resolva conflitos de políticas

Uma política no serviço de autoridade de certificação pode ser uma política de emissão de um conjunto de ACs ou um modelo de certificado. As políticas de emissão de certificados definem as regras gerais para um conjunto de ACs, enquanto os modelos de certificados fornecem instruções mais específicas para diferentes tipos de certificados. Para saber mais acerca dos controlos de políticas, consulte o artigo Acerca dos controlos de políticas. Uma política tem duas partes principais:

  • Valores de base: os valores de base (também conhecidos como valores predefinidos) são definições obrigatórias para todos os certificados emitidos por uma política específica. Por exemplo, pode ter uma política que diga "Todos os certificados emitidos ao abrigo desta política têm de ter a flag digitalSignature ativada na extensão keyUsage". Isto garante que todos os certificados emitidos por esta política podem ser usados para assinaturas digitais.

  • Restrições de extensões: as restrições de extensões restringem as extensões que podem ser adicionadas a certificados fora da própria política. Por exemplo, uma política pode indicar "Só é permitido adicionar a extensão AIA-OCSP a certificados fora desta política". Isto significa que, se alguém tentar adicionar outras extensões (como o nome alternativo do assunto) através de uma política diferente ou diretamente no pedido de certificado, essas extensões são ignoradas.

Quando pede um certificado, o conjunto de CAs usa o modelo especificado para criar o certificado. No entanto, a política de emissão associada ao conjunto de CA também avalia o pedido com base nas suas próprias regras. Os conflitos ocorrem quando as definições num modelo de certificado contradizem as definições na política de emissão de certificados adicionada ao conjunto de ACs, porque ambas estão a tentar aplicar regras ao mesmo certificado. Seguem-se alguns cenários possíveis:

Definições de extensões sobrepostas

Os conflitos ocorrem quando a mesma extensão é definida nos valores de base de ambas as políticas. Por exemplo, se definir a mesma extensão keyUsage na política de emissão do conjunto de ACs e no modelo de certificado, o serviço de autoridade de certificação deteta isto como um conflito, mesmo que especifique diferentes partes da extensão em cada local.

Exemplo:

  • Política de emissão: requer digitalSignature: true na extensão keyUsage.
  • Modelo de certificado: requer keyEncipherment: true na extensão keyUsage.

Isto continua a ser considerado um conflito porque o serviço de autoridade de certificação considera a extensão completa como uma única unidade e verifica se a extensão está definida em ambos os locais, e não os valores específicos na extensão.

Para evitar conflitos, certifique-se de que define cada extensão apenas uma vez, na política de emissão do conjunto de ACs ou no modelo de certificado, mas não em ambos. Isto garante a clareza e evita falhas inesperadas na emissão de certificados.

Restrições de extensões e valores base em conflito

Ocorre um conflito de políticas quando as restrições de extensão de uma política entram em conflito com os valores de base de outra política. Isto acontece nos seguintes casos:

  • Uma política restringe ou proíbe uma extensão: isto pode ser através de uma exclusão geral de todas as extensões ou de uma lista específica de extensões permitidas que não inclua a extensão em questão.
  • Outra política requer a mesma extensão: isto significa que a segunda política tem um valor de base definido para essa extensão específica.

Exemplo:

  • Política de emissão: tem restrições de extensão que permitem apenas a extensão keyUsage.
  • Modelo de certificado: requer a extensão certificatePolicies nos respetivos valores de base.

Isto cria um conflito porque a política de emissão proíbe efetivamente a extensão certificatePolicies, enquanto o modelo de certificado a requer.

Ao definir as suas políticas, considere cuidadosamente os valores de base e as restrições de extensão para garantir que funcionam em conjunto. Evite situações em que uma política restringe uma extensão que outra política requer. Isto evita conflitos e garante a emissão de certificados sem problemas.

Conflitos de expressões do Idioma de expressão comum (IEC)

Se estiver a usar o Idioma de expressão comum (IEC) para um controlo detalhado, as expressões em conflito no modelo de certificado e na política de emissão podem causar conflitos. Estes conflitos impedem a emissão de certificados a partir do conjunto de ACs. Por exemplo, pode ter uma expressão que exija que um nome de domínio termine em .example.com e outra que exija que termine em .example.net. Uma vez que estas duas expressões CEL colocam restrições diferentes no mesmo campo, todos os pedidos de emissão de certificados falham.

Se estiver a usar políticas de emissão de certificados e modelos de certificados, recomendamos que se certifique de que as respetivas expressões CEL não entram em conflito.

Em todos estes cenários, a API CA Service devolve um erro de argumento inválido.

Resolva conflitos de políticas

Quando a API CA Service deteta um conflito de políticas, a API devolve um erro de argumento inválido e o pedido de certificado falha. Para ver e resolver os conflitos de políticas, siga estes passos:

  1. Clique no link Resolução de problemas da política de emissão apresentado com a mensagem de erro. É apresentada uma página de resolução de problemas onde pode comparar os valores de base e as restrições de extensão na política de emissão do conjunto de ACs com os valores de base e as restrições de extensão no modelo de certificado. Repare que os conflitos de políticas estão realçados.
  2. Aceda ao conjunto de ACs ou ao modelo de certificado para atualizar os valores em conflito e resolver o conflito.

Depois de resolver o conflito, envie novamente o pedido de certificado.

O que se segue?