frasertweedale / hs-jose

Haskell JOSE and JWT library
http://hackage.haskell.org/package/jose
Apache License 2.0
122 stars 46 forks source link

re-serialising JWS with protected header discards raw header #98

Closed frasertweedale closed 3 years ago

frasertweedale commented 3 years ago

When deserialising the raw protected header is recorded. But serialising ignores the raw protected header. If hs-jose (aeson) serialises the protected header params in a different order from the original signer, the resulting JWS is no longer valid.

Expected behaviour: re-serialising JWS must preserve original protected header.

Originally posted by @frasertweedale in https://github.com/frasertweedale/hs-jose/issues/97#issuecomment-687657792