Skip to content

Commit 59a7224

Browse files
committed
README: aauth-signing interop row + findings footnote
1 parent d01a742 commit 59a7224

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,21 @@ and every Web Bot Auth verifier on the internet can now identify your agent.
7171
| Web Bot Auth A.2.3 — legacy sf-string form (**what OpenAI ships in production**) | ✅ in CI |
7272
| Sign → verify roundtrip (fresh keys, full pipeline) | ✅ in CI |
7373
| AAuth identity-mode roundtrip (`aa-agent+jwt` + `cnf.jwk` proof of possession) | ✅ in CI |
74+
| Signed by [`aauth-signing`](https://github.com/christian-posta/aauth-python-library) (jwt scheme, keyid-less) → verified | ✅² |
7475
| Tampered request / expired signature / wrong directory key rejected | ✅ in CI |
7576

7677
¹ The signature bytes printed in the draft's own A.2.2 example do **not** verify over the
7778
draft's own signature base (the legacy A.2.3 vector and RFC 9421 B.2.6 both do, so the defect
7879
is in the example, not the canonicalization). Ed25519 is deterministic, so our test pins the
7980
vector re-signed with the same RFC test key over the same byte-exact base — reported upstream.
8081

82+
² Cross-library interop with `aauth-signing`'s jwt scheme: token layer, `cnf.jwk` proof of
83+
possession and canonicalization all verify. Its signers correctly omit the optional `keyid`
84+
parameter — which exposed an unconditional `keyid` read in the underlying RFC 9421 library
85+
that we now handle. One deviation reported upstream to `aauth-signing`: it emits the
86+
`Signature` byte sequence as base64url, while RFC 8941 requires standard base64. The
87+
keyid-less shape is pinned in CI.
88+
8189
## Both dialects, one verifier
8290

8391
- **Web Bot Auth** (`draft-meunier-web-bot-auth-architecture`): key discovery via

0 commit comments

Comments
 (0)