diff --git a/index.bs b/index.bs index e83795e17..9fec5250c 100644 --- a/index.bs +++ b/index.bs @@ -5737,7 +5737,7 @@ template: - Syntax: The syntax of an [=attestation statement=] produced in this format, defined using CDDL [[!RFC8610]] for the extension point - `$attStmtFormat` defined in [[#sctn-generating-an-attestation-object]]. + `$$attStmtType` defined in [[#sctn-generating-an-attestation-object]]. - Signing procedure: The [=signing procedure=] for computing an [=attestation statement=] in this [=attestation statement format|format=] given @@ -5833,17 +5833,21 @@ the [=authenticator=] MUST: ``` 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 + authData: bytes, + + ; Each choice in $$attStmtType defines the fmt value and attStmt structure + $$attStmtType + } .within attStmtTemplate + + attStmtTemplate = { + authData: bytes, + fmt: text, + attStmt: ( + { * tstr => any } ; Map is filled in by each concrete attStmtType + // + [ * any ] ; attStmt may also be an array + ) + } ``` ### Signature Formats for Packed Attestation, FIDO U2F Attestation, and Assertion Signatures ### {#sctn-signature-attestation-types} @@ -6930,7 +6934,7 @@ The "compound" attestation statement format is used to pass multiple, self-conta attStmt: [2* nonCompoundAttStmt] ) - nonCompoundAttStmt = { $$attStmtType } .within { fmt: text .ne "compound" } + nonCompoundAttStmt = { $$attStmtType } .within { fmt: text .ne "compound", * any => any } ``` : Signing procedure