---
title: "Signierte HTTP-Anfrage prüfen (RFC 9421, mit IETF-Beispiel)"
url: https://knowyouragent.ch/wissen/anleitungen/http-signatur-pruefen
lang: de-CH
updated: 2026-10-13
license: © Innopulse Consulting GmbH
---

# Signierte HTTP-Anfrage prüfen (RFC 9421, mit IETF-Beispiel)

HTTP Message Signatures nach RFC 9421 sind die Grundlage von Web Bot Auth und dem Trusted Agent Protocol. Diese Anleitung prüft das offizielle Beispiel aus dem Standard und zeigt, wie eine Manipulation auffällt.

[Leutrim Miftaraj](https://knowyouragent.ch/ueber/leutrim-miftaraj), Gründer, Innopulse Consulting GmbH
Veröffentlicht am 13. Oktober 2026

## Das Wichtigste in Kürze

- HTTP-Signaturen nach RFC 9421 sind die Grundlage von Web Bot Auth und dem Trusted Agent Protocol.
- Das offizielle Beispiel aus Anhang B.2.6 ergibt in KYA unbestimmt, Stufe KYA-A1.
- Eine Änderung am signierten Pfad macht die Signatur ungültig.
- Eine gültige Signatur belegt die Herkunft, nicht die Befugnis zur Handlung.

## Signierte Anfrage bereitlegen

Eine signierte Anfrage besteht aus Anfragezeile, Headern, einer Leerzeile und dem Inhalt. Die Header Signature-Input und Signature tragen die Signatur. Das Beispiel aus Anhang B.2.6 von RFC 9421 sieht so aus:

```
POST /foo?param=Value&Pet=dog HTTP/1.1
Host: example.com
Date: Tue, 20 Apr 2021 02:07:55 GMT
Content-Type: application/json
Content-Length: 18
Signature-Input: sig-b26=("date" "@method" "@path" "@authority" "content-type" "content-length");created=1618884473;keyid="test-key-ed25519"
Signature: sig-b26=:wqcAqbmYJ2ji2glfAMaRy4gruYYnx2nEFN2HN6jrnDnQCK1u02Gb04v9EDgwUPiu4A0w6vuQv5lIp5WPpBKRCw==:

{"hello": "world"}
```

Signiert sind hier Datum, Methode, Pfad, Host, Inhaltstyp und Inhaltslänge, mit einem Ed25519-Testschlüssel.

## Öffentlichen Schlüssel als JWKS hinterlegen

Öffnen Sie auf der [Prüfseite](https://knowyouragent.ch/pruefen) «Erweitert: Schlüssel, [Statusliste](https://knowyouragent.ch/wissen/glossar/statusliste), Zeitstempel-Anker» und fügen Sie unter «Vertrauenswürdige Schlüssel (JWK oder JWKS)» den öffentlichen Testschlüssel aus Anhang B.1.4 ein:

```
{"keys":[{"kty":"OKP","crv":"Ed25519","kid":"test-key-ed25519","x":"JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs"}]}
```

Die Kennung kid muss zum keyid in Signature-Input passen. In der Praxis stammt der Schlüssel aus dem veröffentlichten Verzeichnis des Betreibers.

## Prüfen

Fügen Sie die Anfrage in das Eingabefeld ein und klicken Sie auf «Prüfen». Schneller geht es mit dem Beispiel «IETF RFC 9421 (Anhang B.2.6)» unter «Beispiele», das Anfrage und Schlüssel bereits enthält.

Das Ergebnis lautet «unbestimmt» mit Stufe KYA-A1: Die Signatur ist gültig, der Schlüssel stammt von der [Prüfstelle](https://knowyouragent.ch/wissen/glossar/pruefstelle), Identität und Auftrag sind belegt. Eine Befugnis enthält die Anfrage nicht.

## Gegenprobe: Pfad ändern

Ändern Sie in der Anfragezeile nur den Pfad von /foo auf /bar und prüfen Sie erneut. Weil der Pfad Teil der Signaturbasis ist, passt die Signatur nicht mehr, und das Urteil lautet «ungültig».

Diese Gegenprobe zeigt, was HTTP-Signaturen leisten: Jede Änderung an einer signierten Komponente fällt auf. Nicht signierte Header könnten dagegen unbemerkt verändert werden; deshalb gehören alle relevanten Teile in die Signatur.

## Ergebnis einordnen

Eine gültige HTTP-Signatur belegt, wessen Agent anfragt, nicht was er darf. Für Käufe und andere Handlungen mit Folgen braucht es zusätzlich einen Nachweis der Befugnis, etwa ein [Mandat](https://knowyouragent.ch/wissen/glossar/agenten-mandat) oder eine signierte Kaufabsicht nach [Verifiable Intent](https://knowyouragent.ch/wissen/glossar/verifiable-intent).

Dieselbe Prüfung gilt für Anfragen nach [Web Bot Auth](https://knowyouragent.ch/wissen/glossar/web-bot-auth) und die Signaturebene des [Trusted Agent Protocol](https://knowyouragent.ch/wissen/glossar/trusted-agent-protocol).

## Häufige Fragen

### Welche Algorithmen prüft KYA bei HTTP-Signaturen?

Ed25519, ECDSA und RSA-PSS. Der Standard registriert zusätzlich HMAC, das für die öffentliche Prüfung durch Dritte nicht geeignet ist, weil es einen gemeinsamen Schlüssel voraussetzt.

### Warum lautet das Ergebnis nicht gültig?

Weil eine Signatur nur die Herkunft der Anfrage belegt. Für «gültig» muss auch die Befugnis zur Handlung belegt sein, und die enthält eine reine HTTP-Signatur nicht.

### Muss ich den Schlüssel selbst hinterlegen?

Ja. KYA stellt keine Netzwerkanfragen und lädt Schlüsselverzeichnisse nicht automatisch. So bleibt die Vertrauensentscheidung bei der Prüfstelle.

### Kann ich eigene Signaturen mit OpenSSL erzeugen?

Ja. Bilden Sie die Signaturbasis nach RFC 9421, signieren Sie sie mit Ihrem privaten Schlüssel und setzen Sie die Header Signature-Input und Signature. Anhang B des Standards dient als Vorlage.

## Quellen

- RFC 9421, Anhang B.2.6: [https://www.rfc-editor.org/rfc/rfc9421.html#appendix-B.2.6](https://www.rfc-editor.org/rfc/rfc9421.html#appendix-B.2.6)
- RFC 9421, Anhang B.1.4 (Testschlüssel): [https://www.rfc-editor.org/rfc/rfc9421.html#appendix-B.1.4](https://www.rfc-editor.org/rfc/rfc9421.html#appendix-B.1.4)

---
Quelle: https://knowyouragent.ch/wissen/anleitungen/http-signatur-pruefen · KYA – Know Your Agent
