Zum Hauptinhalt springen

3.3.1. RSASSA-PSS Using SHA-512 (RSASSA-PSS mit SHA-512)

3.3.1. RSASSA-PSS Using SHA-512 (RSASSA-PSS mit SHA-512)

Zum Signieren wendet der Signierende die Funktion RSASSA-PSS-SIGN (K, M) aus [RFC8017] mit dem privaten Signierschlüssel (K) und der Signaturbasis (M) (Abschnitt 2.5) an. Die Maskengenerierungsfunktion ist MGF1 gemäß [RFC8017] mit Hash SHA-512 [RFC6234]. Die Saltlänge (sLen) beträgt 64 Byte. Der Hash SHA-512 [RFC6234] wird auf die Signaturbasis angewendet, um den Digest zu erzeugen, über den die digitale Signatur gebildet wird. Das resultierende signierte Byte-Array (S) ist die HTTP-Nachrichtensignatur für Abschnitt 3.1.

Zum Verifizieren wendet der Verifizierende RSASSA-PSS-VERIFY ((n, e), M, S) [RFC8017] mit dem öffentlichen Teil (n, e) des Verifikationsschlüsselmaterials und der nach Abschnitt 3.2 neu erzeugten Signaturbasis (M) an. MGF1 mit SHA-512 [RFC6234], sLen 64 Byte. SHA-512 [RFC6234] auf die Signaturbasis für den Digest. Der zu prüfende HTTP-Nachrichtensignaturwert (S) wird wie in Abschnitt 3.2 extrahiert. Das Ergebnis der Verifikationsfunktion zeigt, ob die Signatur gültig ist.

Die Ausgabe von RSASSA-PSS ist nicht deterministisch; es ist daher falsch, eine neue Signatur über die Signaturbasis zu berechnen und mit einer vorhandenen zu vergleichen. Stattdessen ist der hier definierte Verifikationsalgorithmus zu verwenden. Siehe Abschnitt 7.3.5.

Die Nutzung dieses Algorithmus kann zur Laufzeit mit dem Wert rsa-pss-sha512 für den Signaturparameter alg angezeigt werden.