All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Added support for the 'crit' header as part of the ProtectedJoseHeader. An IReadOnlyList can be passed as part of the JWS constructor to provide the list of all critical header values. Validation of the 'crit' values is performed according to RFC7515.
- Added support for unencoded payloads when collecting the signature input. The 'b64' unencoded payload option can be used according to RFC7797. The signature input will be generated depending on the 'b64' header value automatically.
- The IReadOnlyDictionary for the additionalHeaders as part of the ProtectedJoseHeader is now represented as IReadOnlyDictionary<string, object> instead of IReadOnlyDictionary<string, string> to allow for all possible JSON values.
- Added
ContentMode
parameter to JWS constructor to support the Detached serialization based on RFC7517 - Appendix F. The default remains a complete serialization. - Added
public ProtectedJoseHeader(JWK.JWK jwk, SerializationOption serializationOption, string contentType = null, IReadOnlyDictionary<string, string> additionalHeaders = null)
to pass in additional string-based key/value pairs to be inlcuded in the Protected header
- Fixed KeyNotFoundException in case a JWS was verified using public key information only
- Fix JsonWriterException when exporting JWS in parallel
- Add
VerifySignature(JWK.JWK jwk, byte[] data, byte[] signature)
- Added support for flattened and complete JSON JWS serialization
- Added support for RSA signatures
- Added support for mulitple protected JoseHeader parameters and corresponding signatures
- SerializeJWSWithOptions has been removed in favour of two public methods
Èxport
andComputeSignature
- Initial release of NuGet package.