LAST UPDATE: 2014-Jun-06
There are many implementations of JWT/JWS and below shows which algorithms are supported. If you know any aother implementation or find a mistake in the table please let me know.
impl | language | HS256 | HS384 | HS512 | RS256 | RS384 | RS512 | ES256 | ES384 | ES512 | PS256 | PS384 | PS512 | none | Crypto Lib |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jsjws | JavaScript | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | ✔ | ✔ | ✔ | — | Tom Wu's RSA, jsrsasign, CryptoJS, sjcl |
node-jsjws | JavaScript | — | — | — | ✔ | ✔ | ✔ | — | — | — | ✔ | ✔ | ✔ | — | Tom Wu's RSA, jsrsasign, CryptoJS, sjcl |
jwt-node | JavaScript | ✔ | — | — | ✔ | — | — | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Tom Wu's RSA, jsrsasign |
jwt-js | JavaScript | — | — | — | ✔ | — | — | — | — | — | — | — | — | — | Tom Wu's RSA, jsrsasign |
jwcrypto | JavaScript | — | — | — | ✔ | — | — | — | — | — | — | — | — | — | Tom Wu's RSA, jsrsasign, sjcl |
green-jwt | JavaScript | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | — | — | ✔ | node-crypto |
jose.4.j | Java | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Default JCE |
Nimbus JWT | Java | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | BouncyCastle |
json-jwt | Ruby | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | Ruby(OpenSSL) |
jws | Python | ✔ | ✔ | ✔ | ✔ | — | — | ✔ | ✔ | ✔ | — | — | — | — | hashlib, ecdsa, Crypto.PublicKey.RSA module |
pyjwkest | Python | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | — | ✔ | M2Crypto |
php Akita JOSE | PHP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | — | — | ✔ | ? |
p5 JSON WebToken | Perl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | — | — | — | — | — | — | Digest::SHA, Crypt::OpenSSL::RSA module |
jwt for .NET | C# | ✔ | ✔ | ✔ | — | — | — | — | — | — | — | — | — | — | CNG,CAPI |
mod_auth_openidc | C | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | — | OpenSSL |
JOSE JWT .NET | PHP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |