APIs mit Client-Zertifikaten (mTLS) in Apidog testen

Erfahren Sie, wie Sie in Apidog APIs testen, die Client-Zertifikate (mTLS) erfordern: Fügen Sie pro Host ein Client-Zertifikat und einen Schlüssel hinzu, hängen Sie ein CA-Zertifikat an und senden Sie authentifizierte Anfragen.

INEZA Felin-Michel

INEZA Felin-Michel

16 July 2026

APIs mit Client-Zertifikaten (mTLS) in Apidog testen

Apidog für Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

Sie greifen auf eine Partner-API zu, senden eine wohlgeformte Anfrage mit einem gültigen Token und werden trotzdem mit einem TLS-Handshake-Fehler konfrontiert. Der Endpunkt fragt nicht nach Ihrem API-Schlüssel. Er verlangt von Ihrem Client, sich mit einem Zertifikat auszuweisen, noch bevor eine HTTP-Anfrage Ihre Maschine verlässt. Das ist gegenseitiges TLS (mTLS), und wenn Sie es noch nie in einem Testtool konfiguriert haben, kann es eine Integration für einen ganzen Tag aufhalten.

Dieser Leitfaden führt Sie durch die Einrichtung von Client-Zertifikaten und CA-Zertifikaten in Apidog, damit Sie eine mTLS-geschützte API testen können, ohne sich mit dem Handshake herumschlagen zu müssen. Sie fügen ein Client-Zertifikat und einen Schlüssel für einen bestimmten Host hinzu, fügen ein CA-Zertifikat an, damit selbstsignierte Roots keine Fehler mehr verursachen, und senden eine authentifizierte Anfrage, die Apidog automatisch signiert. Wenn Zertifikatsfehler Neuland für Sie sind, lohnt sich die Einführung zur SSL-Zertifikatsüberprüfung als ergänzende Lektüre. Für das Protokoll selbst ist die MDN TLS-Referenz eine solide, herstellerunabhängige Erklärung.

Button

Was gegenseitiges TLS (mTLS) ist und warum einige APIs es verlangen

Normales HTTPS ist ein Einweg-Vertrauen. Der Server präsentiert ein Zertifikat, Ihr Client überprüft es, und die Verbindung wird verschlüsselt. Der Server hat keinen kryptografischen Beweis dafür, wer Sie sind; dafür verlässt er sich auf ein Token oder einen API-Schlüssel innerhalb der Anfrage.

Gegenseitiges TLS (mTLS) macht das Vertrauen zweiseitig. Der Server präsentiert weiterhin sein Zertifikat, fordert aber auch den Client auf, eines zu präsentieren. Wenn Ihr Zertifikat nicht von einer vom Server als vertrauenswürdig eingestuften Zertifizierungsstelle signiert ist, schlägt der Handshake fehl und die Verbindung wird niemals geöffnet. Kein Anfrage-Body, keine Header, nichts kommt durch.

Sie werden auf die gegenseitige TLS (mTLS)-Authentifizierung an Orten stoßen, wo ein geleaktes Bearer-Token kein akzeptabler Fehlerfall ist:

Wenn OAuth ebenfalls im Spiel ist, lassen sich die beiden sauber kombinieren; RFC 8705 formalisiert, wie gegenseitiges TLS ein OAuth-Token an ein Client-Zertifikat bindet. Das Zertifikat ist eine netzwerkschichtige Anmeldeinformation, getrennt von der anwendungsschichtigen Authentifizierung in Ihrer Anfrage. Diese Unterscheidung ist in Apidog wichtig und das, worin sich die Leute am häufigsten verfangen. Zertifikate handhaben mTLS. Der Tab Authentifizierung handhabt API-Schlüssel, Bearer-Tokens, OAuth und Basic Auth. Sie benötigen oft beides gleichzeitig, konfigurieren es aber an verschiedenen Stellen.

Wie Apidog Zertifikate nach Hostbereich festlegt

Apidog verarbeitet sowohl CA-Zertifikate als auch Client-Zertifikate und konfiguriert sie global statt pro Anfrage. Sie richten ein Zertifikat einmal ein, verknüpfen es mit einem Host, und Apidog hängt es automatisch an jede HTTPS-Anfrage an, die mit diesem Host übereinstimmt. Es gibt keinen Umschalter pro Anfrage, an den man sich erinnern müsste, und keinen Header zum Einfügen.

Zwei Zertifikatstypen erfüllen zwei verschiedene Aufgaben:

Der Bereichsschlüssel ist der Host. Jedes Client-Zertifikat ist an eine Domäne gebunden, und Apidog gleicht den Host der ausgehenden Anfrage mit dieser Bindung ab. Wenn der Host korrekt ist, läuft alles andere automatisch. Ist er falsch, sendet Apidog stillschweigend nichts, weil es keine Übereinstimmung gefunden hat.

Einrichten eines Client-Zertifikats für eine mTLS-API

Hier ist das Szenario. Ein Zahlungspartner, partner-api.acmebank.com, hat Ihnen während des Onboardings ein Client-Zertifikat und einen privaten Schlüssel ausgestellt. Ihre API ist nur HTTPS und lehnt jeden Client ab, der dieses Zertifikat nicht vorlegen kann. Sie möchten GET /v1/settlements aufrufen und die Antwort überprüfen.

Schritt 1: Die Zertifikatseinstellungen öffnen

Öffnen Sie die Apidog-Einstellungen über das Einstellungssymbol oben rechts und wechseln Sie dann zum Tab Zertifikate. Hier befinden sich beide Zertifikatstypen. Nichts davon ist an eine einzelne Anfrage gebunden; es gilt für alle Ihre Anfragen basierend auf dem Host-Matching.

Schritt 2: Das Client-Zertifikat hinzufügen

Wählen Sie unter Client-Zertifikate die Option Zertifikat hinzufügen. Es öffnet sich ein Formular für die Host-Bindung und die Zertifikatsdateien.

Füllen Sie das Feld Host nur mit der Domäne aus, ohne Protokoll:

partner-api.acmebank.com

Lassen Sie https:// weg. Das Feld nimmt eine reine Domäne auf. Wenn Sie ein Zertifikat für mehrere Subdomains benötigen, unterstützt das Host-Feld Mustererkennung. Die Eingabe von *.acmebank.com verwendet dasselbe Client-Zertifikat für jede Subdomain unter acmebank.com, was praktisch ist, wenn ein Partner partner-api, sandbox-api und settlements-api mit demselben ausgestellten Zertifikat betreibt.

Ein benutzerdefinierter Port ist optional. Lassen Sie ihn leer, und Apidog verwendet standardmäßig 443, den Standard-HTTPS-Port. Legen Sie einen Port nur fest, wenn der mTLS-Endpunkt an einer anderen Stelle lauscht, z.B. 8443.

Schritt 3: Die Zertifikatsdateien auswählen

Apidog akzeptiert zwei Dateiformate für ein Client-Zertifikat. Wählen Sie das aus, das Ihr Partner Ihnen gegeben hat:

Wenn das Zertifikat mit einer Passphrase generiert wurde, geben Sie diese in das Feld Passphrase ein. Es ist optional, lassen Sie es also leer, wenn Ihr Schlüssel nicht passwortgeschützt ist. Ein typisches Onboarding-Paket einer Bank wird als .crt- und .key-Paar geliefert, manchmal mit einer Passphrase auf dem Schlüssel.

Schritt 4: Speichern

Wählen Sie Hinzufügen, um das Client-Zertifikat zu speichern. Es erscheint nun in Ihrer Liste, gebunden an partner-api.acmebank.com. Von diesem Zeitpunkt an müssen Sie es pro Anfrage nicht mehr anfassen.

Schritt 5: Senden der authentifizierten Anfrage

Erstellen Sie eine Anfrage an den Host und senden Sie sie:

GET https://partner-api.acmebank.com/v1/settlements
Authorization: Bearer <your_oauth_token>

Apidog gleicht den Host ab, hängt Ihr Client-Zertifikat während des TLS-Handshakes an und schließt die gegenseitige TLS-Authentifizierung ab, bevor die Anfrage gesendet wird. Wenn der Partner auch OAuth erfordert, wird das Bearer-Token wie gewohnt in der Anfrage mitgeführt. Das Zertifikat beweist die Maschine; das Token beweist den Anrufer. Eine erfolgreiche Antwort könnte so aussehen:

{
  "settlements": [
    {
      "id": "stl_88213",
      "amount": 41200,
      "currency": "USD",
      "status": "cleared",
      "settled_at": "2026-07-14T09:31:00Z"
    }
  ],
  "next_cursor": null
}

Kein manueller Schritt pro Anfrage hat das bewirkt. Das Host-Matching hat es getan.

Hinzufügen eines CA-Zertifikats für interne oder selbstsignierte Roots

Client-Zertifikate sind die halbe Miete. Die andere Hälfte tritt in Erscheinung, wenn das eigene Zertifikat des Servers von einer Autorität signiert ist, der Ihre Maschine nicht vertraut, was bei internen Diensten und Staging-Umgebungen, die eine private Root-CA verwenden, üblich ist.

In diesem Fall schlägt die Anfrage mit einer Meldung wie SSL Error: Self signed certificate fehl, noch bevor mTLS überhaupt eine Chance bekommt. Die Lösung besteht darin, Apidog die CA zu übergeben, damit es dieser Root vertraut.

Im selben Tab Zertifikate aktivieren Sie den Schalter neben CA-Zertifikate und wählen dann Ihre PEM-Datei aus. CA-Zertifikate verwenden das PEM-Format, und eine einzelne PEM-Datei kann mehrere CA-Zertifikate enthalten, sodass Sie eine ganze Kette interner Roots und Intermediate-Zertifikate in einer Datei bündeln können:

-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQG...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIQeM8V5x8B3QksZ4 b2VqkJTANBgkqhkiG9w0BAQ...
-----END CERTIFICATE-----

Sobald die CA als vertrauenswürdig eingestuft ist, lehnt Apidog keine Endpunkte mehr ab, die von ihr signiert wurden. Kombinieren Sie eine vertrauenswürdige CA mit einem Client-Zertifikat, und Sie können einen internen mTLS-Dienst, der einen privaten Root verwendet, End-to-End testen: Die CA lässt Sie ihrem Server vertrauen, und das Client-Zertifikat lässt sie Ihnen vertrauen.

Erweiterte Tipps und häufige Varianten

Einige Dinge sparen Zeit, sobald Sie die Grundeinrichtung hinter sich haben.

Den Workflow mit der Apidog CLI automatisieren

Sobald Ihre mTLS-Anfragen manuell durchlaufen, integrieren Sie sie in gespeicherte Testszenarien und führen Sie sie kopflos mit der Apidog CLI aus. Installieren Sie sie und authentifizieren Sie sich:

npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>

Führen Sie dann ein gespeichertes Szenario in einer Umgebung aus:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t <scenario_id> -e <env_id> -r cli

Der Befehl apidog run unterstützt die Client-Zertifikat-Konfiguration direkt, sodass mTLS den Übergang von der GUI zur Pipeline überlebt. Für ein einzelnes Zertifikat übergeben Sie --ssl-client-cert (das PEM-Zertifikat), --ssl-client-key (den privaten Schlüssel) und --ssl-client-passphrase, falls der Schlüssel eine Passphrase besitzt. Verweisen Sie --ssl-extra-ca-certs auf zusätzliche vertrauenswürdige CAs, oder verwenden Sie --ssl-client-cert-list mit einer Konfigurationsdatei, wenn Sie Zertifikate anhand von URL-Mustern Hosts zuordnen. Reporter werden mit -r festgelegt (versuchen Sie -r html,cli). Verknüpfen Sie diesen Befehl mit einem Job, und Ihre zertifikatgeschützte API wird bei jedem Push getestet. Der Leitfaden Apidog CLI in CI/CD behandelt das Ausführen innerhalb einer Pipeline.

Häufig gestellte Fragen

Brauche ich ein Client-Zertifikat und ein CA-Zertifikat, oder nur eines?

Das hängt vom Endpunkt ab. Ein Client-Zertifikat beweist Ihre Identität, daher benötigen Sie es immer dann, wenn der Server gegenseitiges TLS verlangt. Ein CA-Zertifikat wird nur benötigt, wenn das eigene Zertifikat des Servers von einer Autorität signiert ist, der Ihre Maschine noch nicht vertraut, wie z.B. einer internen Root-CA. Eine öffentliche Partner-API auf einer vertrauenswürdigen öffentlichen CA benötigt nur das Client-Zertifikat; ein interner mTLS-Dienst auf einem privaten Root benötigt normalerweise beides.

Warum sendet Apidog mein Client-Zertifikat nicht?

Fast immer ein Host-Fehler oder ein einfaches HTTP-Ziel. Überprüfen Sie, ob das Feld Host die genaue Domäne ohne https:// Präfix enthält, ob der Port übereinstimmt (Standard 443, also einen benutzerdefinierten Port einstellen, wenn der Endpunkt woanders lauscht), und ob die Anforderungs-URL HTTPS ist. Apidog hängt niemals ein Zertifikat an eine HTTP-Anfrage an.

Wo werden API-Schlüssel und Bearer-Tokens abgelegt, wenn nicht in den Zertifikaten?

Im Tab Autorisierung der Anfrage oder des Ordners, der von der Zertifikatseinrichtung getrennt ist. Zertifikate kümmern sich um die TLS-Schicht-Identität; Autorisierung kümmert sich um API-Schlüssel, Bearer-Token, OAuth und Basic Auth auf der Anforderungsebene. Eine vollständige Aufschlüsselung der Authentifizierungstypen finden Sie im Leitfaden zu Sicherheitsschemata, und Sie können die Authentifizierung einmal auf Ordner- oder Sammlungsebene festlegen, damit jede Anfrage sie erbt.

Kann ein Zertifikat mehrere Subdomains abdecken?

Ja. Das Host-Feld unterstützt Mustererkennung. Geben Sie *.example.com ein, und dasselbe Client-Zertifikat gilt für jede Subdomain von example.com. Das ist die saubere Methode, um ein Wildcard-Zertifikat, das ein Partner für mehrere seiner API-Subdomains ausgestellt hat, wiederzuverwenden.

Wie aktualisiere ich ein Zertifikat, nachdem es hinzugefügt wurde?

Zertifikate sind nicht direkt bearbeitbar. Entfernen Sie das vorhandene mit dem Löschen-Symbol und fügen Sie dann die korrigierte oder erneuerte Version hinzu. Denken Sie daran für die Zertifikatsrotation, und während Sie Test-Setups organisieren, passt das Setzen globaler Parameter in Apidog gut dazu, Umgebungswerte über Anfragen hinweg ordentlich zu halten.

Zusammenfassung

Das Testen einer mTLS-geschützten API läuft in Apidog auf drei Schritte hinaus: Binden Sie ein Client-Zertifikat an den richtigen Host, hängen Sie ein CA-Zertifikat an, wenn der Server eine private Root verwendet, und lassen Sie das Host-Matching jede HTTPS-Anfrage automatisch signieren. Halten Sie Zertifikate und Autorisierung in getrennten Bereichen, und der Handshake ist kein Geheimnis mehr.

Laden Sie Apidog herunter, um mitzumachen, fügen Sie das Zertifikat Ihres Partners hinzu und senden Sie die erste authentifizierte Anfrage. Testen Sie es kostenlos, keine Kreditkarte erforderlich.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen