Specify formats to use $KEYID in service descriptors, INTRODUCE cells. The old thing will not actually work, since clients need onion keys as well as key digests to extend.

svn:r2268
This commit is contained in:
Nick Mathewson 2004-08-18 04:05:30 +00:00
parent fffb4dbb8b
commit adccf3aea6

View File

@ -117,15 +117,16 @@ Tor Rendezvous Spec
PK Bob's public key [KL octets]
TS A timestamp [4 octets]
NI Number of introduction points [2 octets]
Ipt A list of NUL-terminated ORs [variable]
Ipt A list of NUL-terminated ORs [variable]
SIG Signature of above fields [variable]
KL is the length of PK, in octets. (Currently, KL must be 128.)
TS is the number of seconds elapsed since Jan 1, 1970.
The members of Ipt may either be OR nicknames, or IP:Port:ID-key-hash
triples. Servers must accept both forms. Before 0.0.7 is obsoleted,
servers should only generate the first form.
The members of Ipt may either be EITHER nicknames, or identity key
digests, encoded in hex, and prefixed with a '$'. Servers must accept
both forms. Before 0.0.7 is obsoleted, servers should only generate the
first form. After, servers should only generate the second form.
[It's ok for Bob to advertise 0 introduction points. He might want
to do that if he previously advertised some introduction points,
@ -252,14 +253,14 @@ Tor Rendezvous Spec
RC Rendezvous cookie [20 octets]
g^x Diffie-Hellman data, part 1 [128 octets]
OR
VER Version byte: set to 4. [1 octet]
RP:IP IP of rendezvous point [4 octets]
RP:P Port of rendezvous point [2 octets]
RP:ID ID key hash of rendezvous pt [20 octets]
VER Version byte: set to 1. [1 octet]
RP [42 octets]
RC Rendezvous cookie [20 octets]
g^x Diffie-Hellman data, part 1 [128 octets]
PK_ID is the hash of Bob's public key. RP is NUL-padded.
PK_ID is the hash of Bob's public key. RP is NUL-padded and terminated,
and must contain EITHER a nickname, or an identity key digest, encoded in
hex, and prefixed with a '$'.
Implementations must accept both variants, but should only generate the
first so long as Tor 0.0.7 is in use.