@@ -620,7 +620,7 @@ that are returned to the caller when a new credential is created, or a new asser
620
620
interface PublicKeyCredential : Credential {
621
621
[SameObject] readonly attribute ArrayBuffer rawId;
622
622
[SameObject] readonly attribute AuthenticatorResponse response;
623
- [SameObject] readonly attribute AuthenticationExtensionsClientOutputs clientExtensionResults ;
623
+ AuthenticationExtensionsClientOutputs getClientExtensionResults() ;
624
624
};
625
625
</xmp>
626
626
<dl dfn-type="attribute" dfn-for="PublicKeyCredential">
@@ -639,11 +639,10 @@ that are returned to the caller when a new credential is created, or a new asser
639
639
the {{PublicKeyCredential}} was created in response to {{CredentialsContainer/get()}} , and this attribute's value
640
640
will be an {{AuthenticatorAssertionResponse}} .
641
641
642
- : <dfn>clientExtensionResults</dfn>
643
- :: This attribute contains a [=map=] of [=extension identifier=] → [=client extension output=] entries, produced by the
644
- [=client extension processing=] of [=client extensions=] requested by the [=[RP]=] upon invocation of either
645
- {{CredentialsContainer/create()|navigator.credentials.create()}} or
646
- {{CredentialsContainer/get()|navigator.credentials.get()}} .
642
+ : {{PublicKeyCredential/getClientExtensionResults()}}
643
+ :: This operation returns the value of {{PublicKeyCredential/[[clientExtensionsResults]]}} , which is a [=map=] containing
644
+ [=extension identifier=] → [=client extension output=] entries produced by the extension's
645
+ [=client extension processing=] .
647
646
648
647
: <dfn>\[[type]]</dfn>
649
648
:: The {{PublicKeyCredential}} [=interface object=] 's {{Credential/[[type]]}} [=internal slot=]' s value is the string
@@ -664,6 +663,11 @@ that are returned to the caller when a new credential is created, or a new asser
664
663
the format or length of this identifier, except that it MUST be sufficient for the platform to uniquely select a key.
665
664
For example, an authenticator without on-board storage may create identifiers containing a [=credential private key=]
666
665
wrapped with a symmetric key that is burned into the authenticator.
666
+
667
+ : <dfn>\[[clientExtensionsResults]]</dfn>
668
+ :: This [=internal slot=] contains the results of processing client extensions requested by the [=[RP]=] upon the
669
+ [=[RP]=] 's invocation of either {{CredentialsContainer/create()|navigator.credentials.create()}} or
670
+ {{CredentialsContainer/get()|navigator.credentials.get()}} .
667
671
</dl>
668
672
669
673
{{PublicKeyCredential}} 's [=interface object=] inherits {{Credential}}' s implementation of
@@ -1010,8 +1014,9 @@ When this method is invoked, the user agent MUST execute the following algorithm
1010
1014
: {{AuthenticatorAttestationResponse/attestationObject}}
1011
1015
:: |attestationObject|
1012
1016
1013
- : {{PublicKeyCredential/clientExtensionResults}}
1014
- :: <code> |credentialCreationData|.[=credentialCreationData/clientExtensionResults=] </code> .
1017
+ : {{PublicKeyCredential/[[clientExtensionsResults]]}}
1018
+ :: A new {{ArrayBuffer}} , created using |global|'s [=%ArrayBuffer%=] , containing the bytes of
1019
+ <code> |credentialCreationData|.[=credentialCreationData/clientExtensionResults=] </code> .
1015
1020
1016
1021
1. Return |pubKeyCred|.
1017
1022
@@ -1354,8 +1359,9 @@ When this method is invoked, the user agent MUST execute the following algorithm
1354
1359
[=%ArrayBuffer%=] , containing the bytes of
1355
1360
<code> |assertionCreationData|.[=assertionCreationData/userHandleResult=] </code> .
1356
1361
1357
- : {{PublicKeyCredential/clientExtensionResults}}
1358
- :: <code> |assertionCreationData|.[=assertionCreationData/clientExtensionResults=] </code> .
1362
+ : {{PublicKeyCredential/[[clientExtensionsResults]]}}
1363
+ :: A new {{ArrayBuffer}} , created using |global|'s [=%ArrayBuffer%=] , containing the bytes of
1364
+ <code> |assertionCreationData|.[=assertionCreationData/clientExtensionResults=] </code> .
1359
1365
1360
1366
1. Return |pubKeyCred|.
1361
1367
@@ -3019,7 +3025,7 @@ When verifying a given {{PublicKeyCredential}} structure (|credential|) and an {
3019
3025
<dd> Update the stored [=signature counter=] value, associated with
3020
3026
|credential|'s {{Credential/id}} attribute, to be the value of
3021
3027
|adata|.<code> [=signCount=] </code> .</dd>
3022
- <dt> less than or equal to the [=signature counter=] value stored in conjunction
3028
+ <dt> less than or equal to the [=signature counter=] value stored in conjunction
3023
3029
with |credential|'s {{Credential/id}} attribute.</dt>
3024
3030
<dd> This is a signal that
3025
3031
the authenticator may be cloned, i.e. at least
@@ -3132,7 +3138,7 @@ implementable by [=authenticators=] with limited resources (e.g., secure element
3132
3138
1. If [=ECDAA=] is in use, the authenticator produces |sig| by concatenating |authenticatorData| and |clientDataHash|, and
3133
3139
signing the result using ECDAA-Sign (see section 3.5 of [[!FIDOEcdaaAlgorithm]] ) after selecting an
3134
3140
[=ECDAA-Issuer public key=] related to the ECDAA signature private key through an
3135
- authenticator-specific mechanism (see [[!FIDOEcdaaAlgorithm]] ). It sets |alg| to the algorithm of the selected
3141
+ authenticator-specific mechanism (see [[!FIDOEcdaaAlgorithm]] ). It sets |alg| to the algorithm of the selected
3136
3142
[=ECDAA-Issuer public key=] and |ecdaaKeyId| to the [=identifier of the ECDAA-Issuer public key=] (see above).
3137
3143
3138
3144
1. If [=self attestation=] is in use, the authenticator produces |sig| by concatenating |authenticatorData| and |clientDataHash|,
@@ -3742,7 +3748,7 @@ Supported [=client extensions=] are recorded as a dictionary in the [=client dat
3742
3748
{{CollectedClientData/clientExtensions}} . For each such extension, the client adds an entry to this dictionary with the
3743
3749
[=extension identifier=] as the key, and the extension's [=client extension input=] as the value.
3744
3750
3745
- Likewise, the [=client extension outputs=] are represented as a dictionary in the {{PublicKeyCredential/clientExtensionResults}} value,
3751
+ Likewise, the [=client extension outputs=] are represented as a dictionary in the result of {{PublicKeyCredential/getClientExtensionResults()}}
3746
3752
with [=extension identifiers=] as keys, and the <dfn>client extension output</dfn> value of each extension as the value.
3747
3753
Like the [=client extension input=] , the [=client extension output=] is a value that can be encoded in JSON.
3748
3754
0 commit comments