canmove, Confirmed users
725
edits
(→Flow) |
(→Flow) |
||
| Line 97: | Line 97: | ||
... | ... | ||
</pre> | </pre> | ||
<p>computes msg 2 | <p>computes key, computes and uploads msg 2</p> | ||
<pre> | <pre> | ||
C: PUT /a7i HTTP/1.1 | C: PUT /a7i HTTP/1.1 | ||
C: | C: | ||
C: {"type": "client2-msg2", XXX | C: {"type": "client2-msg2", XXX} | ||
</pre></li> | |||
<li>Mobile retrieves Desktop's msg 2 | <li>Mobile retrieves Desktop's msg 2 | ||
<pre> | |||
C: GET /a7i HTTP/1.1 | |||
C: | |||
S: HTTP/1.1 200 OK | |||
... | |||
</pre> | |||
<p>computes key, uploads hash of key to prove its knowledge (msg 3)</p> | |||
<pre> | <pre> | ||
C: PUT /a7i HTTP/1.1 | C: PUT /a7i HTTP/1.1 | ||
C: | C: | ||
C: {"type": "client1-msg3", XXX}</pre></li> | C: {"type": "client1-msg3", XXX} | ||
</pre></li> | |||
</li> | </li> | ||
<li>Desktop retrieves Mobile's msg 3 | <li>Desktop retrieves Mobile's msg 3 (hashed key) | ||
</li> | <pre> | ||
C: GET /a7i HTTP/1.1 | |||
C: | |||
S: HTTP/1.1 200 OK | |||
... | |||
</pre> | |||
verifies it against its own version. If the hash matches, it encrypts and uploads Sync credentials. | |||
<pre> | |||
C: PUT /a7i HTTP/1.1 | |||
C: | |||
C: {"type": "client2-msg3", XXX} | |||
</pre> | |||
</li></li> | |||
<li>Mobile retrieves encrypted credentials | <li>Mobile retrieves encrypted credentials | ||
| Line 121: | Line 144: | ||
... | ... | ||
</pre> | </pre> | ||
<p> | <p>decrypts Sync credentials and verifies HMAC.</p></li> | ||
<li>Mobile deletes the session [OPTIONAL] | <li>Mobile deletes the session [OPTIONAL] | ||
<pre> | <pre> | ||