Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Partial support for JWE encode and decode. Basic use is now possible both for encryption and decryption. Both GCM and CPC modes work for encrypt, decrypt is CPC only for now. For algorithms, RSA-OAEP works both ways. Deflate support is still missing, which is stated as mandatory for RFC 7516. Compact serialization and deserialization work.
JWEs' one ciphertext for potentially multiple recipients has been modeled with the same type variable usage that JWS uses for General/Flattened/Compact divide. CEK wrapping and unwrapping, and ciphertext generation and decode are represented as two stages of functions for each step.
More future work: JSON serializations likely still need more attention. Crypto.JOSE.Header may need some expanding to model shared and non-shared unprotected headers and what lenses to expose for JWEs needs consideration since arbitrary modifications may lead to invalid JWE data.