Update Protocol
This commit is contained in:
parent
d059822ac3
commit
0cb8cb51ff
27
Protocol.md
27
Protocol.md
|
@ -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**
|
||||||
|
|
Loading…
Reference in New Issue