Richtlinienkonflikte vermeiden und lösen
Eine Richtlinie im Certificate Authority Service kann entweder die Ausstellungsrichtlinie eines CA-Pools oder eine Zertifikatsvorlage sein. Richtlinien für die Zertifikatsausstellung legen die allgemeinen Regeln für einen CA-Pool fest, während Zertifikatsvorlagen detailliertere Anweisungen für verschiedene Zertifikatstypen enthalten. Weitere Informationen zu Richtliniensteuerungen finden Sie unter Richtliniensteuerungen. Eine Richtlinie besteht aus zwei Hauptteilen:
Baseline-Werte: Baseline-Werte (auch vordefinierte Werte genannt) sind obligatorische Einstellungen für alle Zertifikate, die gemäß einer bestimmten Richtlinie ausgestellt wurden. Eine Richtlinie könnte beispielsweise so lauten: „Bei jedem Zertifikat, das gemäß dieser Richtlinie ausgestellt wird, muss das Flag
digitalSignature
in der ErweiterungkeyUsage
aktiviert sein.“ So können alle mit dieser Richtlinie ausgestellten Zertifikate für digitale Signaturen verwendet werden.Erweiterungsbeschränkungen: Mit Erweiterungsbeschränkungen wird festgelegt, welche Erweiterungen Zertifikaten außerhalb der Richtlinie hinzugefügt werden können. Eine Richtlinie könnte beispielsweise so lauten: „Außer dieser Richtlinie dürfen Zertifikaten nur die AIA-OCSP-Erweiterung hinzugefügt werden.“ Wenn also jemand versucht, andere Erweiterungen (z. B. „Subject Alternative Name“) über eine andere Richtlinie oder direkt in der Zertifikatsanfrage hinzuzufügen, werden diese Erweiterungen ignoriert.
Wenn Sie ein Zertifikat anfordern, verwendet der CA-Pool die angegebene Vorlage, um das Zertifikat zu erstellen. Die Anfrage wird jedoch auch anhand der eigenen Regeln der Ausstellungsrichtlinie für den CA-Pool geprüft. Konflikte treten auf, wenn die Einstellungen in einer Zertifikatvorlage den Einstellungen in der Richtlinie zur Zertifikatsausstellung widersprechen, die dem CA-Pool hinzugefügt wurde, da beide versuchen, Regeln für dasselbe Zertifikat durchzusetzen. Hier einige mögliche Szenarien:
Überlappende Erweiterungsdefinitionen
Konflikte treten auf, wenn in den Ausgangswerten beider Richtlinien dieselbe Erweiterung definiert ist. Wenn Sie beispielsweise dieselbe Erweiterung keyUsage
in der Ausstellungsrichtlinie des CA-Pools und in Ihrer Zertifikatvorlage definieren, erkennt der Certificate Authority Service dies als Konflikt, auch wenn Sie an den einzelnen Stellen unterschiedliche Teile der Erweiterung angeben.
Beispiel:
- Richtlinie für die Ausstellung:
digitalSignature: true
ist in derkeyUsage
-Erweiterung erforderlich. - Zertifikatsvorlage: Für die
keyUsage
-Erweiterung istkeyEncipherment: true
erforderlich.
Dies wird weiterhin als Konflikt betrachtet, da der Zertifizierungsstelledienst die gesamte Erweiterung als einzelne Einheit betrachtet und prüft, ob die Erweiterung an beiden Stellen definiert ist, nicht die spezifischen Werte innerhalb der Erweiterung.
Um Konflikte zu vermeiden, müssen Sie jede Erweiterung nur einmal definieren, entweder in der Ausstellungsrichtlinie Ihres CA-Pools oder in Ihrer Zertifikatvorlage, aber nicht in beiden. So wird für Klarheit gesorgt und unerwartete Fehler bei der Zertifikatsausstellung verhindert.
In Konflikt stehende Erweiterungseinschränkungen und Baseline-Werte
Ein Richtlinienkonflikt tritt auf, wenn die Erweiterungseinschränkungen einer Richtlinie mit den Basiswerten einer anderen Richtlinie in Konflikt stehen. Das kann in den folgenden Fällen passieren:
- Eine Richtlinie schränkt oder verbietet eine Erweiterung: Dies kann durch einen allgemeinen Ausschluss aller Erweiterungen oder durch eine bestimmte Liste zulässiger Erweiterungen geschehen, die die betreffende Erweiterung nicht enthält.
- Eine andere Richtlinie erfordert dieselbe Erweiterung: Das bedeutet, dass für die zweite Richtlinie ein Referenzwert für diese bestimmte Erweiterung definiert ist.
Beispiel:
- Ausstellungsrichtlinie: Es gibt Erweiterungsbeschränkungen, die nur die Erweiterung
keyUsage
zulassen. - Zertifikatsvorlage: Die
certificatePolicies
-Erweiterung ist in den Referenzwerten erforderlich.
Dies führt zu einem Konflikt, da die Ausstellungsrichtlinie die certificatePolicies
-Erweiterung effektiv verbietet, sie aber von der Zertifikatsvorlage gefordert wird.
Berücksichtigen Sie beim Definieren Ihrer Richtlinien sowohl die Referenzwerte als auch die Einschränkungen für die Erweiterung, damit sie zusammen funktionieren. Vermeiden Sie Situationen, in denen eine Richtlinie eine Erweiterung einschränkt, die durch eine andere Richtlinie erforderlich ist. So werden Konflikte vermieden und die Zertifikatausstellung verläuft reibungslos.
Konflikte mit Common Expression Language-Ausdrücken (CEL)
Wenn Sie die Common Expression Language (CEL) für eine detaillierte Steuerung verwenden, können sich widersprüchliche Ausdrücke in der Zertifikatvorlage und in der Ausstellungsrichtlinie auswirken.
Aufgrund dieser Konflikte können keine Zertifikate vom CA-Pool ausgestellt werden. Beispiel: Sie haben einen Ausdruck, bei dem ein Domainname auf .example.com
enden muss, und einen anderen, bei dem er auf .example.net
enden muss. Da diese beiden CEL-Ausdrücke unterschiedliche Einschränkungen für dasselbe Feld festlegen, schlagen alle Anträge auf Zertifikatsausstellung fehl.
Wenn Sie sowohl Richtlinien für die Zertifikatsausstellung als auch Zertifikatsvorlagen verwenden, sollten Sie darauf achten, dass ihre CEL-Ausdrücke nicht in Konflikt stehen.
In all diesen Fällen gibt die CA Service API einen Fehler zurück, weil ein ungültiges Argument übergeben wurde.
Richtlinienkonflikte lösen
Wenn die CA Service API einen Richtlinienkonflikt erkennt, gibt die API einen Fehler für ungültige Argumente zurück und die Zertifikatsanfrage schlägt fehl. So rufen Sie die Richtlinienkonflikte auf und beheben sie:
- Klicken Sie auf den Link Fehlerbehebung für Richtlinien zu Problemen, der zusammen mit der Fehlermeldung angezeigt wird. Daraufhin wird eine Seite mit der Fehlerbehebung angezeigt, auf der Sie die Referenzwerte und Erweiterungsbeschränkungen in der Ausstellungsrichtlinie des CA-Pools mit den Referenzwerten und Erweiterungsbeschränkungen in der Zertifikatsvorlage vergleichen können. Die Richtlinienkonflikte sind hervorgehoben.
- Rufen Sie entweder den CA-Pool oder die Zertifikatsvorlage auf, um die in Konflikt stehenden Werte zu aktualisieren und den Konflikt zu beheben.
Reichen Sie den Zertifikatsantrag nach Behebung des Konflikts noch einmal ein.