Credential Endpoint credential_endpoint from the credential issuer metadata retrieved in step 1.
—Credential Issuer credential_issuer — also the audience of the proof of possession.
—Credential requested credential_configuration_id, its format and its vct — the credential the issuer is being asked to mint.
—Holder public key The public half of the key pair generated in this browser, as a JWK. It goes in the proof JWT header and ends up in the credential's cnf claim.
Keep the key pair Whether the PRIVATE half of the holder key pair may be written to this browser's localStorage. It has to be kept for the workflow to continue past this page: step 4 needs it to refresh the credential, and the presentation pages need it to sign the Key Binding JWT. Turn it off to keep it out of storage, and carry it yourself with Download Key Pair.
Save this holder key pair in browser localStorage c_nonce A fresh nonce from the issuer's Nonce Endpoint, carried by the proof so the issuer knows the proof was made for this request.
—Proof of possession A JWT with typ openid4vci-proof+jwt, signed by the holder key, naming the credential issuer as its audience and carrying the c_nonce.
JWT Header: The header of the proof JWT carried in the request body's proofs.jwt, decoded. typ marks it as an OID4VCI proof of possession, alg is what it was signed with, and jwk is the holder public key the credential will be bound to.
JWT Payload: The payload of the proof JWT carried in the request body's proofs.jwt, decoded: the wallet as iss, the credential issuer as aud, when it was signed (iat), and the c_nonce that ties it to this request.
Request body The JSON that will be POSTed to the credential endpoint with the access token as a Bearer credential.