Signaturschlüssel auflisten

GET /v1/signing-keys · Berechtigung signing-keys:read

Gibt die Token-Signaturschlüssel zurück, die derzeit im JWKS der Umgebung veröffentlicht sind: next (veröffentlicht, signiert noch nicht), active (signiert neue Tokens) und retired (signiert nicht mehr; bleibt 7 Tage veröffentlicht, damit damit signierte Tokens weiterhin geprüft werden können). Die Reihenfolge ist next, active, dann retired (neueste zuerst). Schlüssel, die das JWKS verlassen haben, und durch eine Notfallrotation widerrufene Schlüssel werden nicht zurückgegeben. Die Antwort enthält nur öffentliche Informationen: kid ist der RFC 7638 JWK-SHA-256-Thumbprint (base64url); keine Antwort enthält privates Schlüsselmaterial, das den Signaturdienst nie verlässt.

Anfrage

Diese Operation nimmt keine Pfad-, Query- oder Body-Felder. Die Umgebung stammt aus den Anmeldedaten.

Antwort

200 OK mit data (Schlüssel) und list_metadata. Die Liste ist so klein wie das JWKS und wird nicht paginiert; beide Cursor sind immer null. activated_at ist beim next-Schlüssel null; retired_at und removal_at (Zeitpunkt, an dem der Schlüssel das JWKS verlässt) sind nur bei retired-Schlüsseln gesetzt.

{
  "data": [
    {
      "kid": "ypeBEsobvcr6wjGzmiPcTaeG7_gUfE5yuYB3ha_uSLs",
      "use": "token_signing",
      "algorithm": "RS256",
      "state": "next",
      "storage": "wrapped",
      "created_at": "2026-09-05T09:30:00.123456Z",
      "activated_at": null,
      "retired_at": null,
      "removal_at": null
    },
    {
      "kid": "PiPoFgA5WUoziU9lZOGxNIu9egCI1CxKy3PurtWcAJ0",
      "use": "token_signing",
      "algorithm": "RS256",
      "state": "active",
      "storage": "wrapped",
      "created_at": "2026-03-09T09:30:00.123456Z",
      "activated_at": "2026-09-05T09:30:00.123456Z",
      "retired_at": null,
      "removal_at": null
    },
    {
      "kid": "Ln0sA6lQeuJl7PW1NWiFpTOTogKdJBOUmXJloaJa78Y",
      "use": "token_signing",
      "algorithm": "RS256",
      "state": "retired",
      "storage": "wrapped",
      "created_at": "2025-09-10T09:30:00.123456Z",
      "activated_at": "2026-03-09T09:30:00.123456Z",
      "retired_at": "2026-09-05T09:30:00.123456Z",
      "removal_at": "2026-09-12T09:30:00.123456Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

Fehler

HTTP Code Wann
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder wurden widerrufen.
403 insufficient_permissions Die Anmeldedaten haben nicht die erforderliche Berechtigung.
429 rate_limited Die Rate-Grenze wurde überschritten; Wiederhole nach dem Retry-After-Zeitraum.
501 not_implemented Die Operation ist in dieser Bereitstellung noch nicht verfügbar; eine Wiederholung ändert das Ergebnis nicht.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; Wiederhole nach dem Retry-After-Zeitraum.

Beispiel

curl https://api.eu.keenauth.com/v1/signing-keys \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"