|
LibJWT 3.3.3
The C JSON Web Token Library +JWK +JWKS
|
| Standard | RFC | Description |
|---|---|---|
| JWS | 📄 RFC-7515 | JSON Web Signature |
| JWE | 📄 RFC-7516 | JSON Web Encryption |
| JWK | 📄 RFC-7517 | JSON Web Keys and Sets |
| JWA | 📄 RFC-7518 | JSON Web Algorithms |
| JWT | 📄 RFC-7519 | JSON Web Token |
| JWS Algorithm alg | OpenSSL | GnuTLS | MbedTLS |
|---|---|---|---|
| HS256 HS384 HS512 | ✅ | ✅ | ✅ |
| ES256 ES384 ES512 | ✅ | ✅ | ✅ |
| RS256 RS384 RS512 | ✅ | ✅ | ✅ |
| EdDSA using ED25519 | ✅ | ✅ | ❌ |
| EdDSA using ED448 | ✅ | ✅ >= 3.8.8 | ❌ |
| PS256 PS384 PS512 | ✅ | ✅ | ✅ |
| ES256K | ✅ | ❌ | ✅ |
LibJWT supports JWE (RFC 7516) Compact Serialization with a single recipient, using a key management algorithm (alg) plus a content encryption algorithm (enc).
Legend: ✅ native implementation · 🔵 supported, using OpenSSL as a fallback · ❌ not supported
| JWE key management alg | OpenSSL | GnuTLS | MbedTLS |
|---|---|---|---|
| dir | ✅ | ✅ | ✅ |
| A128KW A192KW A256KW | ✅ | ✅ | ✅ |
| RSA-OAEP (SHA-1) | ✅ | 🔵 | ✅ |
| RSA-OAEP-256 | ✅ | ✅ | ✅ |
| ECDH-ES (+ +A128KW/+A192KW/+A256KW) | ✅ | ✅ | ✅ |
| JWE content encryption enc | OpenSSL | GnuTLS | MbedTLS |
|---|---|---|---|
| A128GCM A192GCM A256GCM | ✅ | ✅ | ✅ |
| A128CBC-HS256 A192CBC-HS384 A256CBC-HS512 | ✅ | ✅ | ✅ |
LibJWT is available in most Linux distributions as well as through Homebrew for Linux, macOS, and Windows.