Safe Haskell | None |
---|---|
Language | Haskell2010 |
JWE RSA encrypted token support.
Example usage:
>>>
import Jose.Jwe
>>>
import Jose.Jwa
>>>
import Crypto.Random.AESCtr
>>>
g <- makeSystem
>>>
import Crypto.PubKey.RSA
>>>
let ((kPub, kPr), g') = generate g 512 65537
>>>
let (jwt, g'') = rsaEncode g' RSA_OAEP A128GCM kPub "secret claims"
>>>
fst $ rsaDecode g'' kPr jwt
Right (JweHeader {jweAlg = RSA_OAEP, jweEnc = A128GCM, jweTyp = Nothing, jweCty = Nothing, jweZip = Nothing, jweKid = Nothing},"secret claims")
- rsaEncode :: CPRG g => g -> JweAlg -> Enc -> PublicKey -> ByteString -> (ByteString, g)
- rsaDecode :: CPRG g => g -> PrivateKey -> ByteString -> (Either JwtError Jwe, g)
Documentation
:: CPRG g | |
=> g | Random number generator |
-> JweAlg | RSA algorithm to use ( |
-> Enc | Content encryption algorithm |
-> PublicKey | RSA key to encrypt with |
-> ByteString | The JWT claims (content) |
-> (ByteString, g) | The encoded JWE and new generator |
Creates a JWE.
:: CPRG g | |
=> g | |
-> PrivateKey | Decryption key |
-> ByteString | The encoded JWE |
-> (Either JwtError Jwe, g) | The decoded JWT, unless an error occurs |
Decrypts a JWE.