jose-0.2.33.0: Javascript Object Signing and Encryption and JSON Web Token library

Safe HaskellNone
LanguageHaskell98

Crypto.JOSE.JWS

Description

JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JavaScript Object Notation (JSON) based data structures.

Synopsis

Documentation

data JWSHeader Source

JWS Header data type.

Constructors

JWSHeader 

Fields

headerAlg :: Alg
 
headerJku :: Maybe URI

JWK Set URL

headerJwk :: Maybe JWK
 
headerKid :: Maybe String

interpretation unspecified

headerX5u :: Maybe URI
 
headerX5c :: Maybe [Base64X509]

TODO implement min len of 1

headerX5t :: Maybe Base64SHA1
 
headerX5tS256 :: Maybe Base64SHA256
 
headerTyp :: Maybe String

Content Type (of object)

headerCty :: Maybe String

Content Type (of payload)

headerCrit :: Maybe CritParameters
 
headerRaw :: Maybe ByteString

protected header, if known

data JWS Source

JSON Web Signature data type. Consists of a payload and a (possibly empty) list of signatures.

Constructors

JWS Base64Octets [Signature] 

jwsPayload :: JWS -> ByteString Source

Payload of a JWS, as a lazy bytestring.

signJWS Source

Arguments

:: CPRG g 
=> g

Random number generator

-> JWS

JWS to sign

-> JWSHeader

Header for signature

-> JWK

Key with which to sign

-> (Either Error JWS, g)

JWS with new signature appended

Create a new signature on a JWS.

verifyJWS :: JWK -> JWS -> Bool Source

Verify a JWS.

Verification succeeds if any signature on the JWS is successfully validated with the given Key.