Mutual TLS (mTLS) ist ein Branchenstandardprotokoll für die gegenseitige Authentifizierung zwischen einem Client und einem Server. Es sorgt dafür, dass sowohl der Client als auch der Server sich gegenseitig authentifizieren, indem überprüft wird, ob jeder ein gültiges Zertifikat besitzt, das von einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority, CA) ausgestellt wurde. Im Gegensatz zu Standard-TLS, bei dem nur der Server authentifiziert wird, erfordert mTLS, dass Client und Server Zertifikate präsentieren, um die Identitäten beider Parteien zu bestätigen, bevor eine Kommunikation hergestellt wird.
mTLS ist für die Ziel-HTTPS-Proxyressource aller Application Load Balancer konfiguriert:
- Globaler externer Application Load Balancer
- Klassischer Application Load Balancer
- Regionaler externer Application Load Balancer
- Regionaler interner Application Load Balancer
- Regionsübergreifender interner Application Load Balancer
Bei mTLS wird die Public-Key-Infrastruktur (PKI) verwendet, um die Identität der Entitäten zu authentifizieren, die über das Netzwerk kommunizieren. Die Infrastruktur umfasst drei Komponenten: einen Client, einen Server und eine Zertifizierungsstelle (Certificate Authority, CA). mTLS für Load Balancer unterstützt die folgenden Funktionen:
Bestätigen, dass der Client, der das Zertifikat präsentiert, den zugehörigen privaten Schlüssel besitzt.
Clientzertifikate in einem der beiden Modi validieren:
Ungültige Zertifikate ablehnen: Erzwingt eine strenge Authentifizierung, indem Anfragen abgelehnt werden, wenn die Clientzertifikatkette nicht validiert werden kann.
Ungültige oder fehlende Zertifikate zulassen: Bietet Flexibilität, da alle Anfragen an das Backend weitergeleitet werden, auch wenn ein Clientzertifikat fehlt oder ungültig ist.
Clientzertifikate werden anhand eines hochgeladenen PKI-Ankers (Stammzertifikat) validiert. Es besteht die Möglichkeit, mehrere Anker separat hinzuzufügen, um eine nahtlose Migration von einer alten zu einer neuen PKI ohne Ausfallzeiten zu ermöglichen.
Zusätzliche Zwischenzertifikate angeben, die zur Erstellung des Validierungspfads für Clientzertifikate für bestimmte PKI-Anker (Root-Zertifikate) verwendet werden sollen. Diese Zwischenzertifikate ermöglichen mTLS mit Clients, die nicht die vollständige Zertifikatskette bereitstellen.
Einen Fingerabdruck des Zertifikats generieren und diesen als benutzerdefinierten Anfrageheader an das Backend übergeben.
Ausgewählte Felder, die aus dem Zertifikat extrahiert wurden, mithilfe benutzerdefinierter Header an das Backend übergeben.
Das Validierungsergebnis und alle Validierungsfehler mithilfe benutzerdefinierter Header an das Backend übergeben.
Zertifikatsanforderungen
Achten Sie beim Konfigurieren von Zertifikaten für mTLS darauf, dass sie die folgenden Anforderungen erfüllen:
- Moderne Kryptografietools bilden die Grundlage der mTLS-Authentifizierung. Zertifikate müssen entweder RSA- oder ECDSA-Algorithmen für den Schlüsselaustausch verwenden. Für Hashing-Algorithmen muss SHA-256 oder eine stärkere kryptografische Hash-Funktion verwendet werden. Hash-Algorithmen wie MD4, MD5 und SHA-1 werden nicht unterstützt.
- Für Clientzertifikate (Blattzertifikate):
- Die Erweiterung Grundeinschränkungen darf nicht
CA=true
enthalten. - Die Erweiterung Erweiterte Schlüsselverwendung muss
clientAuth
enthalten. - Die Erweiterung Erweiterte Schlüsselverwendung darf nicht die Felder
codeSigning
,timeStamping
oderOCSPSigning
enthalten. - Das Zertifikat darf nicht abgelaufen sein.
- Das Clientzertifikat darf kein selbst signiertes Zertifikat sein.
- Die Erweiterung Grundeinschränkungen darf nicht
- Für Root- und Zwischenzertifikate:
- Die Erweiterung Basic Constraints muss
CA=true
enthalten. - Die Erweiterung Schlüsselverwendung muss auf
keyCertSign
gesetzt sein. - Die Erweiterung Erweiterte Schlüsselverwendung sollte das Feld
clientAuth
enthalten. - Das Zertifikat darf nicht abgelaufen sein.
- Die Erweiterung Basic Constraints muss
Architektur einer mTLS-Bereitstellung
Mit mTLS können Sie eine Vertrauenskonfigurationsressource konfigurieren, die einen Truststore enthält. Der Trust Store enthält einen Trust-Anchor (Root-Zertifikat) und optional ein oder mehrere Zwischenzertifikate. Wenn der Load Balancer ein Clientzertifikat empfängt, validiert er es, indem er eine Vertrauenskette vom Clientzertifikat zurück zum konfigurierten Vertrauensanker herstellt.
Im Folgenden finden Sie einen kurzen Überblick über die verschiedenen Ressourcen, die Sie konfigurieren müssen, um mTLS für den Load Balancer einzurichten:
Konfiguration der Vertrauensstellung: Enthält eine einzelne Trust Store-Ressource, die wiederum einen Trust-Anchor (Root-Zertifikat) und optional ein oder mehrere Zwischenzertifikate enthält. Die Konfiguration der Vertrauensstellung wird verwendet, um eine Vertrauenskette zwischen dem Clientzertifikat und dem Vertrauensanker herzustellen. Weitere Informationen finden Sie unter Vertrauenskonfigurationen.
Optional können Sie ein selbst signiertes, abgelaufenes oder anderweitig ungültiges Zertifikat oder ein Zertifikat, für das Sie keinen Zugriff auf die Root- und Zwischenzertifikate haben, der Trust-Konfiguration im Feld
allowlistedCertificates
hinzufügen. Sie benötigen keinen Trust Store, um ein Zertifikat einer Zulassungsliste hinzuzufügen.Wenn Sie ein Zertifikat auf die Zulassungsliste setzen, gilt es immer als gültig, solange es geparst werden kann, der Besitz des privaten Schlüssels nachgewiesen wird und die Einschränkungen für das SAN-Feld des Zertifikats erfüllt sind.
Trust Store Enthält den Trust-Anker und die Zertifikate der Zwischenzertifizierungsstelle (Certificate Authority, CA), die zum Einrichten einer Vertrauenskette und zum Validieren des Clientzertifikats verwendet werden. Eine CA wird verwendet, um vertrauenswürdige Zertifikate für den Client auszustellen. Die CA wird durch den Trust-Anchor (Root-Zertifikat) des Load Balancers oder die Zwischen-CA-Zertifikate identifiziert.
Sie können die folgenden Arten von Root- und Zwischenzertifikaten in den Trust Store hochladen:
- Zertifikate, die von Drittanbieter-Zertifizierungsstellen Ihrer Wahl ausgestellt werden.
- Zertifikate, die von privaten Zertifizierungsstellen ausgestellt werden, die Sie kontrollieren, wie unter Gegenseitiges TLS mit privater CA einrichten beschrieben.
- Vom Nutzer bereitgestellte Zertifikate, wie unter Gegenseitiges TLS mit vom Nutzer bereitgestellten Zertifikaten einrichten beschrieben.
Clientauthentifizierung (auch als
ServerTLSPolicy
bezeichnet): Gibt den Clientvalidierungsmodus und die Ressource für die Konfiguration der Vertrauensstellung an, die bei der Validierung von Clientzertifikaten verwendet werden soll. Wenn der Client dem Load Balancer ein ungültiges oder kein Zertifikat vorlegt, gibt der Clientvalidierungsmodus an, wie mit der Clientverbindung umgegangen wird. Sie können alle Parameter für die mTLS-Authentifizierung in den Server-TLS-Richtlinien angeben. Die Ressource „Client Authentication“ (ServerTLSPolicy
) ist an die Ziel-HTTPS-Proxy-Ressource angehängt.
Die folgenden Diagramme zeigen die verschiedenen mTLS-Komponenten, die an die HTTPS-Zielproxyressource globaler und regionaler Application Load Balancer angehängt sind.
global
Das folgende Diagramm zeigt die Komponenten der Bereitstellung eines externen Application Load Balancers. Diese Architektur gilt auch für den regionenübergreifenden internen Application Load Balancer, der ein interner Application Load Balancer ist, der globale Komponenten verwendet.
regional
Das folgende Diagramm zeigt die Komponenten der Bereitstellung eines regionalen internen Application Load Balancers. Diese Architektur gilt auch für den regionalen externen Application Load Balancer, einen externen Application Load Balancer, der regionale Komponenten verwendet.
Clientvalidierungsmodus
Wenn der Client dem Load Balancer ein ungültiges oder kein Zertifikat vorlegt, gibt das Attribut clientValidationMode
in der Ressource zur Clientauthentifizierung (ServerTLSPolicy
) an, wie der Load Balancer die Clientverbindung verarbeitet.
Die Werte des Clientvalidierungsmodus sind:
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
: Ermöglicht die Verbindung vom Client, auch wenn die Validierung des Clientzertifikats fehlgeschlagen ist oder kein Clientzertifikat vorgelegt wurde. In diesem Modus lässt der Load-Balancer die Verbindung vom Client zu und leitet alle Anfragen an das Backend weiter, unabhängig davon, ob eine Vertrauenskette hergestellt werden kann.Der Nachweis des Besitzes des privaten Schlüssels wird immer geprüft, wenn das Clientzertifikat vorgelegt wird. Wenn der Client den Besitz des privaten Schlüssels nicht nachweisen kann, wird der TLS-Handshake beendet, auch wenn der Clientvalidierungsmodus ungültige oder fehlende Clientzertifikate zulässt.
REJECT_INVALID
: Die Verbindung wird abgelehnt, wenn ein Client kein Zertifikat bereitstellt oder die Zertifikatsvalidierung fehlgeschlagen ist. In diesem Modus beendet der Load-Balancer die Verbindung vom Client, wenn er keine Vertrauenskette vom Clientzertifikat zurück zum Vertrauensanker herstellen kann.
mTLS auf dem Load Balancer konfigurieren
Im Folgenden finden Sie eine allgemeine Übersicht über die wichtigsten Schritte, die Sie ausführen müssen, um mTLS auf Ihrem Load-Balancer zu konfigurieren:
Erstellen Sie eine TrustConfig-Ressource, die den Vertrauensanker (Root-Zertifikat) und Zwischenzertifikate enthält, die als Vertrauensanker dienen.
Verknüpfen Sie die Konfiguration der Vertrauensstellung mit der Ressource zur Clientauthentifizierung (
ServerTLSPolicy
), die den Clientvalidierungsmodus vonALLOW_INVALID_OR_MISSING_CLIENT_CERT
oderREJECT_INVALID
definiert.Hängen Sie die Ressource für die Clientauthentifizierung (
ServerTLSPolicy
) an die Ziel-HTTPS-Proxy-Ressource des Load Balancers an.Optional: Sie können benutzerdefinierte mTLS-Header verwenden, um Informationen zur mTLS-Verbindung an einen Backend-Dienst oder eine URL-Zuordnung zu übergeben.
Weitere Informationen zu dieser Einrichtung finden Sie in den folgenden Leitfäden:
- Gegenseitiges TLS mit vom Nutzer bereitgestellten Zertifikaten einrichten
- Gegenseitiges TLS mit privater CA einrichten
Schritte zur Validierung von Clientzertifikaten
Bei der Validierung des Clientzertifikats führt der Load Balancer die folgenden Schritte aus:
Prüfen, ob der Client den privaten Schlüssel besitzt:
Der Client weist nach, dass er den privaten Schlüssel besitzt, der dem öffentlichen Schlüssel im Zertifikat zugeordnet ist, indem er während des Handshake-Vorgangs eine Signatur generiert. Der Load Balancer überprüft diese Signatur mit dem öffentlichen Schlüssel des Clients. Wenn die Signaturprüfung fehlschlägt, bedeutet das, dass der Client nicht der Inhaber des Zertifikats ist. In diesem Fall wird der TLS-Handshake beendet, auch wenn Ihre Konfiguration ungültige oder fehlende Clientzertifikate zulässt. Für globale externe Application Load Balancer werden keine Fehler protokolliert. Für regionale externe Application Load Balancer und interne Application Load Balancer wird jedoch ein TLS-Fehler im Feld
proxyStatus
protokolliert.Vertrauenskette prüfen
Der Load Balancer prüft die Vertrauenskette zwischen dem Clientzertifikat und der konfigurierten Vertrauenskonfiguration. Die Überprüfung umfasst Folgendes:
- Das Client-, Zwischen- und Stammzertifikat entsprechen den Zertifikatsanforderungen.
- Das Feld „Subject“ (Betreff) im übergeordneten Zertifikat entspricht dem Feld „Issuer“ (Aussteller) im untergeordneten Zertifikat. Durch diese Überprüfung wird sichergestellt, dass die Identität (Betreff) des übergeordneten Zertifikats mit der Identität übereinstimmt, die im untergeordneten Zertifikat als Aussteller aufgeführt ist.
- Die Subject Key Identifier (SKID) des übergeordneten Zertifikats entspricht der Authority Key Identifier (AKID) im untergeordneten Zertifikat. Diese Übereinstimmung bestätigt, dass das untergeordnete Zertifikat von der richtigen Stammzertifizierungsstelle ausgestellt wurde und dass es vertrauenswürdig ist, da der öffentliche Schlüssel des Stamms in der AKID referenziert wird, um die Gültigkeit des Zertifikats zu überprüfen.
- Der alternative Antragstellername (Subject Alternative Name, SAN) eines untergeordneten Zertifikats verstößt nicht gegen das Feld
NameConstraints
im übergeordneten Zertifikat.
Leite die Anfrage an das Backend weiter.
Wenn die Validierung des Clientzertifikats erfolgreich ist, wird die Anfrage mit benutzerdefinierten mTLS-Headern an das Backend weitergeleitet.
Wenn die Validierung jedoch fehlschlägt, hängt die ergriffene Maßnahme vom Wert des Clientvalidierungsmodus ab:
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
: Die Anfrage wird mit benutzerdefinierten mTLS-Headern weitergeleitet, die den Grund für den Validierungsfehler angeben. Für regionenübergreifende interne Application Load Balancer, regionale externe Application Load Balancer und regionale interne Application Load Balancer können Sie zusätzlich zu benutzerdefinierten mTLS-Headern optionale mTLS-Felder konfigurieren, um den Grund für den Fehler zu prüfen.REJECT_INVALID
: Die Verbindung wird beendet und die Fehler werden in Cloud Logging protokolliert.
Benutzerdefinierte mTLS-Header, die an das Backend übergeben werden
In der folgenden Tabelle sind die benutzerdefinierten mTLS-Headervariablen aufgeführt, die an das Back-End übergeben werden können, sowohl wenn das Clientzertifikat die Validierung besteht als auch wenn nicht. Wenn die Validierung des Clientzertifikats fehlschlägt, werden Anfragen nur dann an das Backend weitergeleitet, wenn der Clientvalidierungsmodus auf ALLOW_INVALID_OR_MISSING_CLIENT_CERT
festgelegt ist.
Diese Variablen können auch in der URL-Zuordnung festgelegt werden.
Status des Clientzertifikats | Clientvalidierungsmodus | Benutzerdefinierte Header |
---|---|---|
Die Clientzertifikatskette ist zu lang (mehr als 10 Zwischenzertifikate, die im Clientzertifikat enthalten sind). |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Ein Client- oder Zwischenzertifikat hat eine ungültige RSA-Schlüsselgröße. Es wird keine Validierung durchgeführt. RSA-Schlüssel können zwischen 2.048 und 4.096 Bit lang sein. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Ein Client oder ein Zwischenzertifikat verwendet eine nicht unterstützte elliptische Kurve. Es wird keine Validierung durchgeführt. Gültige Elliptische-Kurven sind P-256 und P-384. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Ein Client oder ein Zwischenzertifikat verwendet einen Nicht-RSA- und Nicht-ECDSA-Algorithmus. Es wird keine Validierung durchgeführt. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Die für die Validierung zu verwendende PKI hat mehr als zehn Zwischenzertifikate, die dieselben Subject- und Subject Public-Key-Informationen haben. Es wird keine Validierung durchgeführt. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Ein Zwischenzertifikat zur Validierung hatte mehr als 10 Namenseinschränkungen.. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Das Clientzertifikat hat keine |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Das Zeitlimit wurde beim Prüfen der Zertifikatskette überschritten. | ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
client_cert_sha256_fingerprint: <cert hash>
|
Das Limit für die Tiefe oder Iteration wurde beim Prüfen der Zertifikatskette erreicht. Die maximale Tiefe für eine Zertifikatskette beträgt zehn, einschließlich der Root- und Clientzertifikate. Die maximale Anzahl der Iterationen beträgt 100 (Zertifikate, die zur Validierung der Clientzertifikatskette geprüft werden). |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Sie haben mTLS konfiguriert, ohne eine Es kann keine Validierung durchgeführt werden, aber der Zertifikathash wird an das Back-End weitergeleitet. |
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Kein Clientzertifikat. | ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Das Clientzertifikat schlägt für die Validierung der Ressource TrustConfig fehl.
|
ALLOW_INVALID_OR_MISSING_CLIENT_CERT
|
|
Das Clientzertifikat besteht die Validierung durch den Zertifikatsprüfer. | Nicht zutreffend |
client_cert_error: <empty>
|
An das Backend übergebene benutzerdefinierte Header-Variablenwerte parsen
Einige Variablenwerte für benutzerdefinierte mTLS-Header sind Base64-codierte Stringdarstellungen von binären Distinguished Encoding Rules (DER)-Zertifikatsdaten. Sie können Base64-codierte Strings mit den Tools oder Softwarebibliotheken Ihrer Wahl decodieren. Hier einige Beispiele:
Auf macOS- und Linux-Systemen kann das Befehlszeilentool
base64
verwendet werden, das in beiden Betriebssystemen enthalten ist. Wenn Sie Base64-codierte Strings mit dem Dienstprogrammbase64
decodieren möchten, übergeben Sie den codierten String als Standardeingabe an den Befehlbase64
und verwenden Sie das Flag-d
, um den String wie folgt zu decodieren:echo BASE_64_ENCODED_STRING | base64 -d
Python enthält das base64-Modul, mit dem Base64-codierte Strings so decodiert werden können:
import base64 encoded_string=BASE_64_ENCODED_STRING decoded_string=base64.b64decode(encoded_string).decode() print(decoded_string) # Note that a newline character (\n) is added to the end of the string.
Fehlerbehandlung und Logging
Application Load Balancers bieten detaillierte Logging-Funktionen, mit denen Sie die Validierung von Clientzertifikaten überwachen, potenzielle Probleme identifizieren und Verbindungsprobleme beheben können. In diesem Abschnitt werden die verschiedenen Arten von Fehlern beschrieben, die bei der mTLS-Validierung auftreten können, und wie sie protokolliert werden.
In Logs protokollierte Fehler im REJECT_INVALID
-Modus
Wenn die Clientzertifikatsprüfung fehlschlägt und der Clientvalidierungsmodus auf REJECT_INVALID
gesetzt ist, wird die Verbindung beendet und die Fehler werden in Cloud Logging protokolliert. Diese Fehler werden in der folgenden Tabelle beschrieben.
Status des Clientzertifikats | Protokollierter Fehler |
---|---|
Die Clientzertifikatskette ist zu lang (mehr als 10 Zwischenzertifikate, die im Clientzertifikat enthalten sind). |
client_cert_chain_exceeded_limit
|
Ein Client- oder Zwischenzertifikat hat eine ungültige RSA-Schlüsselgröße. Es wird keine Validierung durchgeführt. RSA-Schlüssel können zwischen 2.048 und 4.096 Bit lang sein. |
client_cert_invalid_rsa_key_size
|
Ein Client oder ein Zwischenzertifikat verwendet eine nicht unterstützte elliptische Kurve. Es wird keine Validierung durchgeführt. Gültige Kurven sind P-256 und P-384. |
client_cert_unsupported_elliptic_curve_key
|
Ein Client- oder Zwischenzertifikat verwendet einen Nicht-RSA- oder Nicht-ECDSA-Algorithmus. Es wird keine Validierung durchgeführt. |
client_cert_unsupported_key_algorithm
|
Die für die Validierung zu verwendende PKI hat mehr als zehn Zwischenzertifikate, die dieselben Subject- und Subject Public-Key-Informationen haben. Es wird keine Validierung durchgeführt. |
client_cert_pki_too_large
|
Ein Zwischenzertifikat zur Validierung hatte mehr als 10 Namenseinschränkungen. |
|
Das Clientzertifikat hat keine |
|
Das Zeitlimit wurde beim Prüfen der Zertifikatskette überschritten. |
client_cert_validation_timed_out
|
Das Limit für die Tiefe oder Iteration wurde beim Prüfen der Zertifikatskette erreicht. Die maximale Tiefe für eine Zertifikatskette beträgt zehn, einschließlich der Root- und Clientzertifikate. Die maximale Anzahl der Iterationen beträgt 100 (Zertifikate, die zur Validierung der Clientzertifikatskette geprüft werden). |
client_cert_validation_search_limit_exceeded
|
Sie haben mTLS konfiguriert, ohne eine TrustConfig -Ressource einzurichten.
|
client_cert_validation_not_performed
|
Der Client hat das angeforderte Zertifikat während des Handshakes nicht bereitgestellt. |
client_cert_not_provided
|
Das Clientzertifikat schlägt für die Validierung der Ressource TrustConfig fehl.
|
client_cert_validation_failed
|
In Logs protokollierte Fehler für geschlossenen Verbindungen
Wenn der Clientvalidierungsmodus auf ALLOW_INVALID_OR_MISSING_CLIENT_CERT
oder REJECT_INVALID
gesetzt ist, führen bestimmte Fehler zu geschlossenen Verbindungen und werden in Cloud Logging protokolliert. Diese Fehler werden in der folgenden Tabelle beschrieben.
Status des Clientzertifikats | Anfrage | Protokollierter Fehler |
---|---|---|
Das Clientzertifikat stimmt während des Handshakes mit der Signatur nicht überein. | SSL-Handshake beenden | – |
Der Dienst kann die Zertifikatskette nicht validieren. | Verbindung beenden |
client_cert_validation_unavailable
|
Interner Fehler beim Validieren der Zertifikatskette. | Verbindung beenden |
client_cert_validation_internal_error
|
Keine passenden TrustConfig gefunden.
|
Verbindung beenden |
client_cert_trust_config_not_found
|
Die Nutzlast des Clientzertifikats (einschließlich Zwischenzertifikaten) ist zu groß (über 16 KB). | Verbindung beenden |
client_cert_exceeded_size_limit
|
Wenn das Logging für den Backend-Dienst aktiviert ist, können Sie protokollierte Fehler für geschlossene Verbindungen während der mTLS-Clientzertifikatsvalidierung ansehen.
Beschränkungen
Der Load Balancer führt keine Sperrüberprüfungen für Clientzertifikate durch.
Mit Application Load Balancers können Sie eine Vertrauenskonfiguration mit einem einzigen Trust Store hochladen, der höchstens 200 Trust-Anker und Zwischenzertifikate (die Anzahl der Zwischenzertifikate ist auf 100 begrenzt) und 500 Zertifikate enthält, die einer Zulassungsliste hinzugefügt werden. Alle Zwischenzertifikate dürfen nicht mehr als drei Zertifikate mit denselben Informationen zum öffentlichen Schlüssel des Subjekts haben. Weitere Informationen finden Sie unter Kontingente und Limits.
Die maximale Tiefe für eine Zertifikatskette beträgt zehn, einschließlich der Root- und Clientzertifikate. Die maximale Häufigkeit, mit der Zwischenzertifikate beim Aufbau der Vertrauenskette ausgewertet werden können, beträgt 100. Weitere Informationen finden Sie unter Kontingente und Limits.
Schlüssel der hochgeladenen und vom Kunden übergebenen Zertifikate sind auf Folgendes beschränkt:
- RSA-Schlüssel können zwischen 2.048 und 4.096 Bit lang sein. Weitere Informationen finden Sie unter Kontingente und Limits.
- ECDSA-Schlüssel können die P-256- oder P-384-Kurven verwenden.
Die vom Client empfangene Zertifikatskette ist auf bis zu 16 KB und 10 Zertifikate beschränkt. Weitere Informationen finden Sie unter Kontingente und Limits.
Root-Zertifikate, die für die Validierung verwendet werden, dürfen nicht mehr als 10 Namenseinschränkungen enthalten. Weitere Informationen finden Sie unter Kontingente und Limits.
Die Google Front Ends (GFEs) der Schicht 1 erzwingen ein nicht konfigurierbares Zeitlimit von 10 Sekunden für die Präsentation des Clientzertifikats während des TLS-Handshakes. Bei Spitzenlast kann dieses Zeitlimit kürzer sein. Clients müssen die Zertifikatspräsentation innerhalb dieses Zeitrahmens abschließen, um eine mTLS-Verbindung erfolgreich herzustellen.