Éviter et résoudre les conflits de règles
Une règle dans Certificate Authority Service peut être une règle d'émission d'un pool d'autorités de certification ou un modèle de certificat. Les règles d'émission de certificats définissent les règles générales d'un pool d'autorités de certification, tandis que les modèles de certificats fournissent des instructions plus spécifiques pour différents types de certificats. Pour en savoir plus sur les commandes de stratégie, consultez la section À propos des commandes de stratégie. Une règle se compose de deux parties principales:
Valeurs de référence: les valeurs de référence (également appelées valeurs prédéfinies) sont des paramètres obligatoires pour tous les certificats délivrés par une stratégie spécifique. Par exemple, vous pouvez avoir une règle qui indique : "Chaque certificat émis en vertu de cette règle doit avoir l'indicateur
digitalSignature
activé dans l'extensionkeyUsage
." Cela garantit que tous les certificats émis par cette stratégie peuvent être utilisés pour les signatures numériques.Contraintes liées aux extensions: les contraintes liées aux extensions limitent les extensions pouvant être ajoutées aux certificats en dehors de la stratégie elle-même. Par exemple, une règle peut indiquer : "Seule l'extension AIA-OCSP est autorisée à être ajoutée aux certificats en dehors de cette règle." Cela signifie que si quelqu'un tente d'ajouter d'autres extensions (comme le nom d'objet de remplacement) via une autre règle ou directement dans la demande de certificat, ces extensions sont ignorées.
Lorsque vous demandez un certificat, le pool d'autorités de certification utilise le modèle spécifié pour le créer. Toutefois, la règle d'émission associée au pool d'autorités de certification évalue également la requête par rapport à ses propres règles. Des conflits surviennent lorsque les paramètres d'un modèle de certificat contredisent les paramètres de la stratégie d'émission de certificats ajoutée au pool d'autorités de certification, car ils tentent tous les deux d'appliquer des règles au même certificat. Voici quelques scénarios possibles:
Définitions d'extensions qui se chevauchent
Des conflits surviennent lorsque la même extension est définie dans les valeurs de référence des deux règles. Par exemple, si vous définissez la même extension keyUsage
dans la stratégie d'émission du pool d'autorités de certification et dans votre modèle de certificat, Certificate Authority Service détecte un conflit, même si vous spécifiez des parties différentes de l'extension à chaque emplacement.
Exemple :
- Règle d'émission:
digitalSignature: true
est requis dans l'extensionkeyUsage
. - Modèle de certificat: nécessite
keyEncipherment: true
dans l'extensionkeyUsage
.
Cela est toujours considéré comme un conflit, car le service d'autorité de certification considère l'extension entière comme une seule unité et vérifie si l'extension est définie dans les deux emplacements, et non les valeurs spécifiques de l'extension.
Pour éviter les conflits, veillez à ne définir chaque extension qu'une seule fois, soit dans la stratégie d'émission de votre pool d'autorités de certification, soit dans votre modèle de certificat, mais pas les deux. Cela garantit la clarté et évite les échecs d'émission de certificats inattendus.
Contraintes d'extension et valeurs de référence en conflit
Un conflit de règles se produit lorsque les contraintes d'extension d'une règle entrent en conflit avec les valeurs de référence d'une autre règle. Cela se produit dans les cas suivants:
- Une règle restreint ou interdit une extension: il peut s'agir d'une exclusion générale de toutes les extensions ou d'une liste spécifique d'extensions autorisées qui n'inclut pas l'extension en question.
- Une autre règle nécessite la même extension: cela signifie que la deuxième règle a une valeur de référence définie pour cette extension spécifique.
Exemple :
- Règle d'émission: contient des contraintes d'extension qui n'autorisent que l'extension
keyUsage
. - Modèle de certificat: nécessite l'extension
certificatePolicies
dans ses valeurs de référence.
Cela crée un conflit, car la stratégie d'émission interdit effectivement l'extension certificatePolicies
, tandis que le modèle de certificat l'exige.
Lorsque vous définissez vos règles, examinez attentivement les valeurs de référence et les contraintes d'extension pour vous assurer qu'elles fonctionnent ensemble. Évitez les situations où une règle restreint une extension requise par une autre règle. Cela évite les conflits et garantit l'émission fluide des certificats.
Conflits d'expressions en langage CEL (Common Expression Language)
Si vous utilisez le langage CEL (Common Expression Language) pour un contrôle précis, des expressions en conflit dans le modèle de certificat et la stratégie d'émission peuvent entraîner des conflits.
Ces conflits empêchent l'émission de certificats à partir du pool d'autorités de certification. Par exemple, une expression peut exiger qu'un nom de domaine se termine par .example.com
, tandis qu'une autre exige qu'il se termine par .example.net
. Étant donné que ces deux expressions CEL imposent des restrictions différentes sur le même champ, toutes les demandes d'émission de certificat échouent.
Si vous utilisez à la fois des règles d'émission de certificats et des modèles de certificats, nous vous recommandons de vous assurer que leurs expressions CEL ne sont pas en conflit.
Dans tous ces scénarios, l'API du service de certification renvoie une erreur d'argument non valide.
Résoudre les conflits de règles
Lorsque l'API CA Service détecte un conflit de règles, elle renvoie une erreur d'argument non valide et la requête de certificat échoue. Pour afficher et résoudre les conflits de stratégie, procédez comme suit:
- Cliquez sur le lien Dépannage des règles d'émission qui s'affiche avec le message d'erreur. Une page d'outil de dépannage s'affiche, sur laquelle vous pouvez comparer les valeurs de référence et les contraintes d'extension de la règle d'émission du pool d'autorités de certification avec les valeurs de référence et les contraintes d'extension du modèle de certificat. Notez que les conflits de règles sont mis en évidence.
- Accédez au pool d'autorités de certification ou au modèle de certificat pour mettre à jour les valeurs en conflit et résoudre le conflit.
Une fois le conflit résolu, renvoyez la demande de certificat.