fido-common: Add attestation::Statement data type
Attestation statements are returned as part of the CBOR maps returned by authenticators in response to authenticatorMakeCredential and authenticatorGetAssertion commands. The attestation statements defined by WebAuthn come in various formats. However, the format identifier is not part of the attestation statement field in the CBOR map (0x03 attStmt), but rather as a distinct format field (fmt 0x01). Normally, this could be worked around with an externally tagged enum, but using integer tags is not currently supported by serde. By marking the enum instead as untagged, this should ideally mean that serde can differentiate between the enum variants by the fields of the attestation statement, which is itself a CBOR map. Otherwise, we could always revert to just raw byte sequences for the attestation statements during (de)serialization and push validating these statements onto another part of the code.main
parent
a0bd1c9e01
commit
6ef8cee4de
Loading…
Reference in New Issue