You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
attObj = {
authData: bytes,
$$attStmtType
}
attStmtTemplate = (
fmt: text,
attStmt: { * tstr => any } ; Map is filled in by each concrete attStmtType
)
; Every attestation statement format must have the above fields
attStmtTemplate .within $$attStmtType
Note that the attStmt member is defined as a CBOR map.
Note that the attStmt member here is a CBOR array.
I also don't think the expression attStmtTemplate .within $$attStmtType successfully encodes the intent Every attestation statement format must have the above fields, for two reasons: it does not define a CDDL rule since it contains no = sign, and even if it did, the .within control operator would apply only to the new type defined by that rule, but not to the attObj type.
On the 2024-11-20 WG call it was said that there are implementations of compound attestation shipping, so the preferred resolution to this is to relax the template to allow array-based attestation statements.
Proposed Change
Inline the .within control operator into the attObj definition:
attObj = {
authData: bytes,
$$attStmtType
} .within attStmtTemplate ; Every attestation statement format must have the fields below
Add a choice to attStmtTemplate to allow an array for attStmt:
attStmtTemplate = {
authData: bytes,
fmt: text,
attStmt: (
{ * tstr => any } ; Map is filled in by each concrete attStmtType
//
[ * any ] ; attStmt may also be an array
),
}
The text was updated successfully, but these errors were encountered:
6.5.4. Generating an Attestation Object defines a CDDL template for attestation statement formats:
Note that the
attStmt
member is defined as a CBOR map.§8.9. Compound Attestation Statement Format defines a choice for the
$$attStmtType
group socket:Note that the
attStmt
member here is a CBOR array.I also don't think the expression
attStmtTemplate .within $$attStmtType
successfully encodes the intentEvery attestation statement format must have the above fields
, for two reasons: it does not define a CDDL rule since it contains no=
sign, and even if it did, the.within
control operator would apply only to the new type defined by that rule, but not to theattObj
type.On the 2024-11-20 WG call it was said that there are implementations of compound attestation shipping, so the preferred resolution to this is to relax the template to allow array-based attestation statements.
Proposed Change
Inline the
.within
control operator into theattObj
definition:Add a choice to
attStmtTemplate
to allow an array forattStmt
:The text was updated successfully, but these errors were encountered: