Q1: Which algorithm-selection behavior follows RFC 8725?
Multiple ChoiceAn A2A verifier supports RS256 and ES256 in its library. This token profile permits only ES256, but an incoming token declares alg=RS256 and has a valid RS256 signature.
An A2A verifier supports RS256 and ES256 in its library. This token profile permits only ES256, but an incoming token declares alg=RS256 and has a valid RS256 signature.
One issuer signs both A2A access tokens and Agent Card attestations with the same key. Both currently use the same audience and optional claims, so either token passes the other's validator.
The attestation is correctly signed by trusted issuer I, has aud=gateway, and is unexpired. The access-token endpoint also trusts I. The access-token profile requires typ=a2a-access+jwt and scope=task.write; the attestation has typ=a2a-card+jwt and no scope. Authorization requires the access-token profile.
A multi-issuer A2A gateway reads jku from a signed JWT and fetches that URL to obtain verification keys. Trusted issuers are configured, but the gateway permits any HTTPS host in jku. The security requirement forbids attacker-directed requests to internal services.
An A2A profile accepts only RS256 with issuer I's RSA public key. A library also implements HS256. An attacker submits alg=HS256 and computes an HMAC using the published RSA public-key bytes as the HMAC secret. The verifier's criterion is the profile's RS256 issuer authentication.
A gateway accepts access JWTs and session-binding JWTs from the same issuer. It verifies signatures with one generic rule and forwards only sub in X-Agent. The backend authorizes task.write from that header. Backend policy requires an access token for itself and an independently valid session-binding proof for this request.