/errors
Signature error database
The exact error messages that signature and key code throws — and what to do about them. Each entry explains what the message really says, ranks the causes by how often they bite, and gives concrete fixes with code.
40 errors cataloged — every message reproduced against the real library where possible.
JWT libraries13
jwt malformedjsonwebtoken (Node.js)invalid signaturejsonwebtoken (Node.js)jwt expiredjsonwebtoken (Node.js)invalid algorithmjsonwebtoken (Node.js)secretOrPublicKey must be an asymmetric key when using ES256jsonwebtoken (Node.js)jwt audience invalid. expected: <audience>jsonwebtoken (Node.js)signature verification failedjose (JavaScript)"exp" claim timestamp check failedjose (JavaScript)Invalid Compact JWSjose (JavaScript)"alg" (Algorithm) Header Parameter value not allowedjose (JavaScript)Signature verification failedPyJWT (Python)It is required that you pass in a value for the "algorithms" argument when calling decode().PyJWT (Python)Signature has expiredPyJWT (Python)
Node.js crypto5
WebCrypto4
DataError: Data provided to an operation does not meet requirementsWebCrypto crypto.subtle.importKeyOperationError: The operation failed for an operation-specific reasonWebCrypto crypto.subtleInvalidAccessError: Unable to use this key to verifyWebCrypto crypto.subtle.sign / verifyNotSupportedError: Unrecognized algorithm nameWebCrypto crypto.subtle
OpenSSL CLI5
unable to load Public KeyOpenSSL CLI (openssl pkey / ec / rsa / dgst)error:0480006C:PEM routines::no start lineOpenSSL 3.xerror:0680009B:asn1 encoding routines:ASN1_get_object:too longOpenSSL 3.x CLI (asn1parse, d2i loaders)Verification failureOpenSSL CLI (openssl dgst -verify)unable to load certificateOpenSSL CLI (openssl x509 / verify)
Python cryptography5
cryptography.exceptions.InvalidSignaturePython cryptographyUnable to load PEM file. See https://cryptography.io/en/latest/faq/#why-can-t-i-import-my-pem-file for more details. MalformedFramingPython cryptographyPassword was not given but private key is encryptedPython cryptographyInvalid EC key. Point is not on the curve specified.Python cryptographyValid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key?Python cryptography
Go6
x509: certificate signed by unknown authorityGo crypto/x509tls: failed to verify certificate: x509: certificate signed by unknown authorityGo crypto/tls (Go ≥ 1.20)x509: certificate has expired or is not yet valid: current time 2026-08-20T15:47:41+03:00 is after 2026-08-19T12:47:41ZGo crypto/x509x509: certificate is valid for example.com, not api.example.comGo crypto/x509asn1: structure error: tags don't matchGo encoding/asn1x509: unsupported elliptic curveGo crypto/x509
Other tools2
Error not listed, or listed but unsolved?
The Signature Error Explainer works from the other direction: paste your key, message and signature, and it tests the common mismatch causes — wrong hash, wrong curve, DER vs raw encoding, double hashing — locally in your browser.
Open the Error Explainer