-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Imported from AB/Connect bitbucket: https://bitbucket.org/openid/connect/issues/1952
Original Reporter: TimoAnimo
The credential issuer metadata defines the cryptographic_suites_supported property, which indicates to the wallet which cryptographic suites an issuer supports for a specific credential type.
However I feel like there’s a missing link between cryptographic_suites_supported, the algorithm used in the proof in the credential request and the cryptographic suite that is used for signing the credential.
When the issuer offers the wallet a credential of type ldp_vc and the cryptographic_suites_supported includes Ed25519Signature2018, however the proof in the credential request includes a proof with an ES256 JWS for did:example:123, is this valid?
The credential is issued in the ldp_vc format and the spec mentions:
Cryptosuites for Credentials in
jwt_vcformat should use algorithm names defined in IANA JOSE Algorithms Registry. Cryptosuites for Credentials inldp_vcformat should use signature suites names defined in Linked Data Cryptographic Suite Registry.
However this doesn’t mention how the cryptosuites should impact the proof in the credential request. Could the cryptographic_suites_supported also contain EdDSA / ES256 even though the credential is issued in ldp_vc format? Or should you infer the alg to use for the proof type based on the crypto suites supported (Ed25519Signature2018 maps to EdDSA, etc..)?
In some API’s I’ve seen where we used ES256 for the credential request proof, but the credential was always issued in Ed25519Signature2018 format. Should the wallet have control over this?