Update Protocol

This commit is contained in:
Sébastien Blin 2018-05-16 18:56:32 -04:00
parent d059822ac3
commit 0cb8cb51ff
1 changed files with 16 additions and 11 deletions

View File

@ -59,19 +59,23 @@ certificate.
The account archive is an encrypted JSON object with the following The account archive is an encrypted JSON object with the following
structure: structure:
`{`\ ```
`    "ringAccountKey": (PEM-encoded account private key string),`\ {
`    "ringAccountCert": (PEM-encoded account certificate string),`\     "ringAccountKey": (PEM-encoded account private key string),
`    "ringAccountCRL": (PEM-encoded account CRL string)`\     "ringAccountCert": (PEM-encoded account certificate string),
`}`     "ringAccountCRL": (PEM-encoded account CRL string)
}
```
The JSON object can contain additional implementation-defined key-value The JSON object can contain additional implementation-defined key-value
pairs. Implementation-defined key names shouldn't start with "ring". pairs. Implementation-defined key names shouldn't start with "ring".
The string JSON object is encrypted using a key defined as : The string JSON object is encrypted using a key defined as :
`salt = PIN + timestamp`\ ```
`key = argon2(password, salt)` salt = PIN + timestamp
key = argon2(password, salt)
```
Where PIN is a random 32bits number in hexadecimal form, "+" is string Where PIN is a random 32bits number in hexadecimal form, "+" is string
concatenation, timestamp is the current UNIX timestamp divided by 1200 concatenation, timestamp is the current UNIX timestamp divided by 1200
@ -127,10 +131,11 @@ format. An ICE message is a chunk of binary data, following
This protocol is a compound of msgpack values, successively packed in This protocol is a compound of msgpack values, successively packed in
this order: this order:
`* an integer giving the version of ICE message format protocol used for the rest of the data. Current defined protocol version is `**`1`**`.`\
`* a 2-elements array of strings of the ICE local session ufrag and the ICE local session password`\ * an integer giving the version of ICE message format protocol used for the rest of the data. Current defined protocol version is `**`1`**`.
`* an integer giving the number of components in the ICE session`\ *  a 2-elements array of strings of the ICE local session ufrag and the ICE local session password
`* an array of string, of the previous number entries, where each string describe the ICE candidate, formated as an "a=" line (without the "a=" header) described in `[`rfc5245,` *  an integer giving the number of components in the ICE session
*  an array of string, of the previous number entries, where each string describe the ICE candidate, formated as an "a=" line (without the "a=" header) described in `[`rfc5245,`
`section` `4.3`](https://tools.ietf.org/html/rfc5245#page-26) `section` `4.3`](https://tools.ietf.org/html/rfc5245#page-26)
- **Sending the Answer** - **Sending the Answer**