Skip to content

Requirement around key_attestations_required with attestation proof type is not clear #679

@jogu

Description

@jogu

Current text says:

key_attestations_required: OPTIONAL. Object that describes the requirement for key attestations as described in Appendix D, which the Credential Issuer expects the Wallet to send within the proof(s) of the Credential Request. If the Credential Issuer does not require a key attestation, this parameter MUST NOT be present in the metadata.

Probably "within the proof(s)" should be "within or as the proof(s)" as I think it is intended to be able to use key_storage etc to set requirements for the attestation proof type, not just for attestations within the jwt proof type.

But also these two are semantically equivalent:

    "proof_types_supported": {
        "attestation": {
            "proof_signing_alg_values_supported": [
            "ES256"
          ],
          "key_attestations_required": {
          }
        }
      },
    "proof_types_supported": {
        "attestation": {
          "proof_signing_alg_values_supported": [
            "ES256"
          ],
        }
      },

(in that in both cases the wallet is required to send a key attestation)

and probably both are valid by my reading of the spec. It'd be useful to get other people's interpretations as otherwise we probably need to test both forms in the conformance tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions