panva/jose

Browser Support

panva opened this issue · 0 comments

panva commented

Browser distributions make use of Web Cryptography API for the cryptographic operations. Vendor-specifics are marked with an annotation.

JSON Web Key Type Support

Supported kty value
RSA RSA
Elliptic Curve EC supported curves: P-256, P-384, P-521
Octet Key Pair OKP supported subtypes: Ed255191
Octet sequence oct

JWS Algorithm Support

Supported alg values
RSASSA-PKCS1-v1_5 RS256, RS384, RS512
RSASSA-PSS PS256, PS384, PS512
ECDSA ES256, ES384, ES512
Edwards-curve DSA EdDSA[^eddsa-support]
HMAC with SHA-2 HS256, HS384, HS512
Unsecured JWS none

JWE Key Management Algorithm Support

Supported alg values
AES A128KW, A192KW2, A256KW
AES GCM A128GCMKW, A192GCMKW2, A256GCMKW
Direct Key Agreement dir
RSAES OAEP RSA-OAEP, RSA-OAEP-256, RSA-OAEP-384, RSA-OAEP-512
PBES2 PBES2-HS256+A128KW, PBES2-HS384+A192KW2, PBES2-HS512+A256KW
ECDH-ES ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW2, ECDH-ES+A256KW

JWE Content Encryption Algorithm Support

Supported enc values
AES GCM A128GCM, A192GCM2, A256GCM
AES CBC w/ HMAC A128CBC-HS256, A192CBC-HS3842, A256CBC-HS512

Unsupported Algorithms or Key Types

Due to the Web Cryptography API limitations the following is not supported in any browser vendor runtime:

  • RSA1_5
  • secp256k1 and ES256K
  • Ed448
  • X448

See also

Footnotes

  1. Only in Safari >= 17.0 and Firefox >= 129 for now, see https://github.com/WICG/webcrypto-secure-curves/issues/20

  2. 192 bit AES keys are not supported in Chromium. 2 3 4 5 6