When a user want to register his device, the relying party provide some parameters which are :
- a challenge,
- appID,
- Version of protocol
The user performs then a "user presence test" by touching the button on his device sending those informations :
dictionary RegisterResponse {
DOMString registrationData;
DOMString clientData;
};
Relying party do what he has to do with those informations and the process is finished !
But I do not understand the following part. Based on the specifications of U2F protocol :
Registration Request Message - U2F_REGISTER This message is used to initiate a U2F token registration. The FIDO Client first contacts the relying party to obtain a challenge, and then constructs the registration request message. The registration request message has two parts: The challenge parameter is the SHA-256 hash of the Client Data, a stringified JSON data structure that the FIDO Client prepares. Among other things, the Client Data contains the challenge from the relying party (hence the name of the parameter). The application parameter [32 bytes]. The application parameter is the SHA-256 hash of the application identity of the application requesting the registration. (See [FIDOAppIDAndFacets] in bibliography for details.)
At which step this part is run ?
Thank you in advance !