New features since API rework:
- handling request-target aliases is now suppported
- request-target aliases can be lazily evaluated
- signature metadata like date is now checked
- signatures missing mandatory headers are rejected due to being insecure
- creation of signatures missing mandatory headers will raise an error
And also clean up internals while at it.
Now no more weird req_headers mangling is needed
with callers being required to reparse the signature just to know how to
mangle things or in case of the adapter to figure out what keys should
be fetched.
Unexpected pseudo headers also no longer break verification completely,
they’ll be processed such that verification works, albeit we won't
apply any intended side effects until full support is added.
The interface is now also prepared to handle request target aliases
inside the library in the future to avoid superfluous key refetches etc
on each failing alias. This and further improvments will be implemented
in future commits.
As this is breaking the existing API,
the major version is bumped from 0 to 1.