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