Aller au contenu
ecdsa.com
jwks-rsa (Node.js)JWKS et découverte des clés

Message d’erreur

The JWKS endpoint did not contain any signing keys

Également affiché sous la forme

  • The JWKS endpoint did not contain any keys

jwks-rsa (Node.js) — JwksError from getSigningKey()

Ce que cela signifie

Le point de terminaison JWKS a répondu avec des clés, mais après filtrage aucune d’elles ne peut vérifier de signatures. jwks-rsa ne garde que les clés dont le `use` vaut `"sig"` ou est absent, dont le `kty` est RSA, EC ou OKP, et qui s’importent correctement comme clés publiques. Tout le reste – clés de chiffrement, clés symétriques, JWK malformées ou privées – est écarté. Le message voisin « did not contain any keys » signifie que le tableau `keys` lui-même était vide ou absent.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Examiner kty, use et alg de chaque clé

    Une seule ligne de jq montre pourquoi chaque clé est écartée. Une ligne `has_private: true` signifie que le jeu de clés expose une clé privée : retirez-la et effectuez la rotation de cette clé.

    bash
    curl -s "$JWKS_URI" | jq '.keys[] | {kid, kty, use, alg, crv, has_private: has("d")}'
  2. 2.

    Publier au moins une clé de signature

    Si vous gérez le point de terminaison, incluez chaque clé de signature active avec `use: "sig"`, un `kid` unique et son `alg`. Les clés de chiffrement peuvent figurer dans le même jeu tant qu’elles sont marquées `use: "enc"`.

    json
    {
      "keys": [
        { "kty": "RSA", "kid": "sig-2026-10", "use": "sig", "alg": "RS256", "n": "…", "e": "AQAB" },
        { "kty": "RSA", "kid": "enc-2026", "use": "enc", "alg": "RSA-OAEP-256", "n": "…", "e": "AQAB" }
      ]
    }

Erreurs associées

Parcourir toute la base de données des erreurs de signature