Dokumentation zur Prüfung der DVDV-Signaturen
Im Artikel Zustellpunkt ermitteln soll analog zu den Informationen zur Prüfung der Adressierungsinformationen (siehe docs!84 (merged)) eine Dokumentation zur Prüfung der destinationParametersSignature
erstellt werden.
Referenzen
- Beispielcode (Python) für die erfolgreiche Überprüfung einer Signatur in den API-Tests zur FIT-Connect--DVDV-API: https://git.fitko.de/fit-connect/fitconnect-dvdv-api-tests/-/blob/main/dvdv2ClientTests.py#L255
Inhalte der Dokumentation
-
Bei der Signatur handelt es sich um eine Detached JSON Web Signature in der Compact Serialization (siehe https://datatracker.ietf.org/doc/html/rfc7515#section-3.1 und https://datatracker.ietf.org/doc/html/rfc7515#appendix-F). -
"Vor der Signaturprüfung müssen alle semantisch unbedeutenden nicht-druckbaren Zeichen (Leerzeichen, Tabs, Line Feed \n
, Carriage Return\r
) vor und nach den strukturierenden Zeichen ([
,{
,]
,}
,:
,,
) aus dem JSON-Payload entfernt werden." -
Vor der Signaturprüfung müssen die Attribute des JSON-Objekts in alphabetischer Reihenfolge sortiert werden. -
Der Zustelldienst stellt zur Prüfung der Signatur ein JSON Web Key Set (JWKS) unter der URL https://<URL der Submission-API>/.well-known/jwks.json
bereit, das öffentlichen Schlüssel enthält, der zur Prüfung der Signatur benötigt wird. Der passende Public Key kann anhand der Key-ID (kid
) im Header der JSON Web Signature (JWS) ermittelt werden.
Akeptanzkriterien
-
Alle o.g. Inhalte sind in der Dokumentation enthalten -
Die Dokumentation enthält Code-Beispiele
Edited by Markus Flögel