{"record":{"id":"fbcc99c117426bd8","repo":"jwtk/jjwt","slug":"the-specified-signingkeyresolver-implementation-do","errorCode":null,"errorMessage":"The specified SigningKeyResolver implementation does not support Claims JWS signing key resolution.  Consider overriding either the resolveSigningKey(JwsHeader, Claims) method or, for HMAC algorithms, the resolveSigningKeyBytes(JwsHeader, Claims) method.","messagePattern":"The specified SigningKeyResolver implementation does not support Claims JWS signing key resolution\\.  Consider overriding either the resolveSigningKey\\(JwsHeader, Claims\\) method or, for HMAC algorithms, the resolveSigningKeyBytes\\(JwsHeader, Claims\\) method\\.","errorType":"exception","errorClass":"UnsupportedJwtException","httpStatus":null,"severity":"error","filePath":"api/src/main/java/io/jsonwebtoken/SigningKeyResolverAdapter.java","lineNumber":101,"sourceCode":"                \"Key instance appropriate for the \" + alg.name() + \" algorithm.\");\n        byte[] keyBytes = resolveSigningKeyBytes(header, content);\n        return new SecretKeySpec(keyBytes, alg.getJcaName());\n    }\n\n    /**\n     * Convenience method invoked by {@link #resolveSigningKey(JwsHeader, Claims)} that obtains the necessary signing\n     * key bytes.  This implementation simply throws an exception: if the JWS parsed is a Claims JWS, you must\n     * override this method or the {@link #resolveSigningKey(JwsHeader, Claims)} method instead.\n     *\n     * <p><b>NOTE:</b> You cannot override this method when validating RSA signatures.  If you expect RSA signatures,\n     * you must override the {@link #resolveSigningKey(JwsHeader, Claims)} method instead.</p>\n     *\n     * @param header the parsed {@link JwsHeader}\n     * @param claims the parsed {@link Claims}\n     * @return the signing key bytes to use to verify the JWS signature.\n     */\n    public byte[] resolveSigningKeyBytes(JwsHeader header, Claims claims) {\n        throw new UnsupportedJwtException(\"The specified SigningKeyResolver implementation does not support \" +\n                \"Claims JWS signing key resolution.  Consider overriding either the \" +\n                \"resolveSigningKey(JwsHeader, Claims) method or, for HMAC algorithms, the \" +\n                \"resolveSigningKeyBytes(JwsHeader, Claims) method.\");\n    }\n\n    /**\n     * Convenience method invoked by {@link #resolveSigningKey(JwsHeader, byte[])} that obtains the necessary signing\n     * key bytes.  This implementation simply throws an exception: if the JWS parsed is a content JWS, you must\n     * override this method or the {@link #resolveSigningKey(JwsHeader, byte[])} method instead.\n     *\n     * @param header  the parsed {@link JwsHeader}\n     * @param content the byte array payload\n     * @return the signing key bytes to use to verify the JWS signature.\n     */\n    @SuppressWarnings(\"unused\")\n    public byte[] resolveSigningKeyBytes(JwsHeader header, byte[] content) {\n        throw new UnsupportedJwtException(\"The specified SigningKeyResolver implementation does not support \" +\n                \"content JWS signing key resolution.  Consider overriding either the \" +","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/jwtk/jjwt/blob/fb71496164c71442d08adec4571d9616ed5e1b8d/api/src/main/java/io/jsonwebtoken/SigningKeyResolverAdapter.java#L83-L119","documentation":"Error \"The specified SigningKeyResolver implementation does not support Claims JWS signing key resolution.  Consider overriding either the resolveSigningKey(JwsHeader, Claims) method or, for HMAC algorithms, the resolveSigningKeyBytes(JwsHeader, Claims) method.\" thrown in jwtk/jjwt.","triggerScenarios":"Thrown at api/src/main/java/io/jsonwebtoken/SigningKeyResolverAdapter.java:101 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["In your SigningKeyResolver subclass, override resolveSigningKey(JwsHeader, Claims) or, for HMAC, resolveSigningKeyBytes(JwsHeader, Claims) to return the Claims-JWS signing key.","If your tokens are content (non-Claims) JWSs, use the byte[]-based overrides instead and ensure the resolver is matched to the token kind.","Do not use SigningKeyResolverAdapter for token types you have not implemented overrides for — implement the SigningKeyResolver interface fully or extend with the right methods."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb71496164c71442d08adec4571d9616ed5e1b8d","analyzedAt":"2026-09-09T00:33:09.982Z","contentChangedAt":"2026-09-09T00:33:09.982Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}