Dokumentation
Entwickler-HubAPI-StatusUnterstützung

Leitfaden für Signaturen von Drittanbietern

Erfahren Sie, wie Sie Signaturen von Drittanbieter-Zahlungsanbietern erstellen.

To generate a successful signature, follow the instructions that are documented in the RFC 9421 specification. Note that there are aspects of the signature generation that Amazon enforces for TPPs making SP-API requests. These are documented in the following sections.

Signaturkomponenten

RFC 9421 describes the process of communicating which HTTP message components are signed in a request. You must include the following message components when you generate a signature.

📘

Hinweis

Wenn die folgenden Komponenten nicht enthalten sind, schlägt die Signaturüberprüfung fehl. Sie können diese Komponenten in beliebiger Reihenfolge hinzufügen.

HTTP-Felder (Nachrichten-Header)

KopfzeileBeschreibung
x-amz-access-tokenDas LWA-Zugriffstoken, das für die Anfrage verwendet wird.
x-amzn-content-digestDer Sha-256-Digest der Anforderungsnutzlast. Für Anfragen ohne Payload erstellen Sie den sha-256-Digest auf einem leer Schnur.

For additional information, refer to HTTP Fields.

Abgeleitete Komponenten

ComponentBeschreibung
@methodDie HTTP-Methode der Anfrage. Der Wert muss in Großbuchstaben geschrieben werden (zum Beispiel GET, POST).
@queryThe normalized query string that is defined by the URI and includes the leading ? character.
If the request doesn’t have a query, you must populate the component value with ? when you create the signature base mentioned in RFC 9421.
The value must be derived after you perform all the necessary encoding, such as Percentile-Encoding. Any further modifications you make to queryString, which are not included when you create the signature, cause signature failure.

For additional information, refer to Derived Components.

Signaturparameter

ParameterBeschreibung
createdEin Epochenzeitstempel in Sekunden.
Wenn der created epoch zeigt auf eine Zeit, die älter als fünf Minuten ist, wenn die Anfrage eingeht, die Signatur als abgelaufen gilt und der Anruf abgelehnt wird.
algAn algorithm that you use to sign the signature base.
The value for alg must be PS512. For additional details, refer to Signing algorithm.

For additional information, refer to Signature Parameters.

🚧

Vorsicht

Bei allen Anforderungsheaderwerten wird zwischen Groß- und Kleinschreibung unterschieden. Wenn die Groß- und Kleinschreibung nicht übereinstimmt, schlägt Ihre Signaturüberprüfung fehl.

Unterschriftslabel

RFC 9421 allows multiple signatures within the same header (to disambiguate, use signature labels). SP-API only uses one signature, which is identified by the x-amzn-psd2 signature label. You must use it in the Signature and Signature-Input headers to identify PSD2-related information.

Algorithmus zum Signieren

A signature is generated on the signature base string that is created when you complete the steps in RFC 9421. After you generate your signature base string, you must use the private key that is associated with your electronic NCA Certificate to sign the request with the PS512 algorithm. This algorithm is the only one that is currently supported for SP-API requests.

The certificate that is associated with the private key you used in the signature must be passed as a header (x-amzn-psd2-certificate) in your SP-API request. The certificate must be a PEM-formatted string in Base64 encoding that begins with -----BEGIN CERTIFICATE----- and ends with -----END CERTIFICATE-----.

Wenn Sie im Zertifikat unzulässige Zeichen verwenden, wird Ihre SP-API-Anfrage abgelehnt. Sie dürfen nur Zertifikate verwenden, die zum Signieren von HTTP-Anfragen bestimmt sind, die von qualifizierten Vertrauensdienstanbietern (QTSPs) ausgestellt wurden.

🚧

Vorsicht

Das von Ihnen verwendete Zertifikat muss mit der Organisations-ID verknüpft sein, die Sie in Ihrer Entwicklerregistrierung angegeben haben. Wenn es eine Nichtübereinstimmung gibt, wird Ihre Anfrage abgelehnt.

Fehlermeldung

Wenn die Validierung Ihrer Anforderungssignatur fehlschlägt, erhalten Sie einen 403-Fehler, der zusätzliche Informationen im Hauptteil enthält. Zum Beispiel:

{ "errors": [ { "code": "Unauthorized", "message": "Access to requested resource is denied.", "details": "Reason for error." } ] }

Im Folgenden finden Sie eine Liste möglicher Werte für details Feld:

FehlermeldungBeschreibung
TPP certificate required but missing from requestDas x-amzn-psd2-certificate Header fehlt.
TPP certificate has invalid formatDas bereitgestellte Zertifikat hat kein gültiges PEM-Format.
Content Digest header required but missing from requestDer x-amzn-content-digest-Anforderungsheader fehlt.
Invalid Content DigestDie Inhaltsübersicht konnte nicht verifiziert werden, oder Sie haben einen Algorithmus verwendet, der nicht unterstützt wird. Nur SHA-256 wird unterstützt.
Signature-Input header required but not presentedDas Signature-Input Der Anforderungsheader fehlt.
Signature-Input header is invalidDas Signature-Input Der Header-Wert entspricht nicht der RFC 9421-Spezifikation.
Request PSD2 Signature is InvalidUngültige Signatur. Dies kann mehrere Ursachen haben, z. B. die Verwendung des falschen privaten Schlüssels oder Zertifikats oder einen Tippfehler.
Signature header is required but not presentedDas Signature Der Anforderungsheader fehlt.

Beispiel für eine Signatur

Das folgende Beispiel ist eine Signatur-Basiszeichenfolge, die alle erforderlichen Komponenten enthält:

"x-amz-access-token": Atza|IgEBIN... "x-amzn-content-digest": sha-256=:fadf3qr3TAFASEG3234gADA+krdzMzYayg4YFig=: "@method": POST "@query": ?key2=value2&key1=value1 "@signature-params": ("x-amz-access-token" "x-amzn-content-digest" "@method" "@query");created=1720137600;alg="PS512";

Das zugehörige Signature-Input Header ist:

Signature-Input: x-amzn-psd2=("x-amz-access-token" "x-amzn-content-digest" "@method" "@query");created=1720137600;alg="PS512"

Das folgende Beispiel ist ein Signatur-Header mit Signature Etikett:

Signature: x-amzn-psd2=:cyqStwls2k3Xs8SSzDvDhxWEc_P0dNxV5I6Tp... :

Hat Ihnen diese Seite weitergeholfen?