aboutsummaryrefslogtreecommitdiff
path: root/proposals/224-rend-spec-ng.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-05-11 07:30:47 -0400
committerNick Mathewson <nickm@torproject.org>2017-05-11 07:30:47 -0400
commit422ca3d2edace750993a45c41ece03bdb00ec6c3 (patch)
treee3d0a8e66965273c42c875c8148be0602fa6b282 /proposals/224-rend-spec-ng.txt
parent28ed266a88a55605621c74b81e210b2fcf5c41ee (diff)
parent3f9333044e77759996083d0d9dd2c8053358d895 (diff)
downloadtorspec-422ca3d2edace750993a45c41ece03bdb00ec6c3.tar.gz
torspec-422ca3d2edace750993a45c41ece03bdb00ec6c3.zip
Merge remote-tracking branch 'dgoulet/ticket21871_01'
Diffstat (limited to 'proposals/224-rend-spec-ng.txt')
-rw-r--r--proposals/224-rend-spec-ng.txt54
1 files changed, 32 insertions, 22 deletions
diff --git a/proposals/224-rend-spec-ng.txt b/proposals/224-rend-spec-ng.txt
index 1c2f0fa..8945239 100644
--- a/proposals/224-rend-spec-ng.txt
+++ b/proposals/224-rend-spec-ng.txt
@@ -1221,39 +1221,49 @@ Table of contents:
is included in the mandatory signing-key extension. The certificate
type must be [09].
- Encryption key is specified as follow:
+ "enc-key" SP "ntor" SP key NL
- [Exactly once enc-key per introduction point]
-
- "enc-key" SP "ntor" SP key NL
-
- The key is a base64 encoded curve25519 public key used to encrypt
- the introduction request to service.
-
- "enc-key" SP "legacy" NL key NL
+ [Exactly once per introduction point]
- Base64 encoded RSA key, wrapped in "----BEGIN RSA PUBLIC
- KEY-----" armor, for use with a legacy introduction point as
- described in [LEGACY_EST_INTRO] and [LEGACY-INTRODUCE1] below.
+ The key is a base64 encoded curve25519 public key used to encrypt
+ the introduction request to service.
- "enc-key-certification" NL certificate NL
+ "enc-key-cert" NL certificate NL
[Exactly once per introduction point]
- Cross-certification of the descriptor signing key by the enc-key.
- The format of this certificate depends on the type of enc-key.
+ Cross-certification of the descriptor signing key by the encryption
+ key.
For "ntor" keys, certificate is a proposal 220 certificate wrapped
in "-----BEGIN ED25519 CERT-----" armor, cross-certifying the
- descriptor signing key with the ed25519 equivalent of the curve25519
- public key from "enc-key" derived using the process in proposal 228
- appendix A. The certificate type must be [10], and the signing-key
+ descriptor signing key with the ed25519 equivalent of a curve25519
+ public encryption key derived using the process in proposal 228
+ appendix A. The certificate type must be [0B], and the signing-key
extension is mandatory.
- For "legacy" keys, certificate is a proposal 220 RSA->Ed
- cross-certificate wrapped in "-----BEGIN CROSSCERT-----" armor,
- cross-certifying the descriptor signing key with the legacy RSA
- encryption key.
+ "legacy-key" NL key NL
+
+ [None or at most once per introduction point]
+
+ The key is an ASN.1 encoded RSA public key in PEM format used for a
+ legacy introduction point as described in [LEGACY_EST_INTRO] and
+ [LEGACY-INTRODUCE1] below.
+
+ This field is only present if the introduction point only supports
+ legacy protocol (v2) that is <= 0.2.9 or the protocol version value
+ "HSIntro 3".
+
+ "legacy-key-cert NL certificate NL
+
+ [None or at most once per introduction point]
+
+ MUST be present if "legacy-key" is present.
+
+ The certificate is a proposal 220 RSA->Ed cross-certificate wrapped
+ in "-----BEGIN CROSSCERT-----" armor, cross-certifying the
+ descriptor signing key with the RSA public key found in
+ "legacy-key".
To remain compatible with future revisions to the descriptor format,
clients should ignore unrecognized lines in the descriptor.