3 JOSE is a set of web standards aimed at encapsulating crypto
4 operations flexibly inside JSON objects.
6 Lws provides lightweight apis to performs operations on JWK, JWS and JWE
7 independent of the tls backend in use. The JSON parsing is handled by the lws
12 |JWS|[RFC7515](https://tools.ietf.org/html/rfc7515)|JSON Web Signatures|
13 |JWE|[RFC7516](https://tools.ietf.org/html/rfc7516)|JSON Web Encryption|
14 |JWK|[RFC7517](https://tools.ietf.org/html/rfc7517)|JSON Web Keys|
15 |JWA|[RFC7518](https://tools.ietf.org/html/rfc7518)|JSON Web Algorithms|
17 JWA is a set of recommendations for which combinations of algorithms
18 are deemed desirable and secure, which implies what must be done for
19 useful implementations of JWS, JWE and JWK.
21 ## Supported algorithms
25 - All RFC7517 / JWK forms: octet, RSA and EC
27 - singleton and keys[] arrays of keys supported
31 - All common AES varaiants: CBC, CFB128, CFB8, CTR, EVB, OFB, KW and XTS
33 ### Asymmetric ciphers
37 - EC (P-256, P-384 and P-521 JWA curves)
39 ### Payload auth and crypt
41 - AES_128_CBC_HMAC_SHA_256
42 - AES_192_CBC_HMAC_SHA_384
43 - AES_256_CBC_HMAC_SHA_512
46 For the required and recommended asymmetric algorithms, support currently
57 |RSA1_5|Recommended-|yes|
58 |RSA-OAEP|Recommended+|no|
59 |ECDH-ES|Recommended+|no|
64 |RS256|Recommended+|yes|
65 |ES256|Recommended|yes|
67 ## Minimal Example tools
69 [JWK](https://libwebsockets.org/git/libwebsockets/tree/minimal-examples/crypto/minimal-crypto-jwk)
71 [JWS](https://libwebsockets.org/git/libwebsockets/tree/minimal-examples/crypto/minimal-crypto-jws)
73 [JWE](https://libwebsockets.org/git/libwebsockets/tree/minimal-examples/crypto/minimal-crypto-jwe)
77 See `./minimal-examples/api-tests/api-test-jose/` for example test code.
78 The tests are built and confirmed during CI.