Tor 0.4.9.0-alpha-dev
Data Fields
hs_desc_intro_point_t Struct Reference

#include <hs_descriptor.h>

Data Fields

smartlist_tlink_specifiers
 
curve25519_public_key_t onion_key
 
tor_cert_tauth_key_cert
 
curve25519_public_key_t enc_key
 
tor_cert_tenc_key_cert
 
struct {
   crypto_pk_t *   key
 
   struct {
      uint8_t *   encoded
 
      size_t   len
 
   }   cert
 
legacy
 
unsigned int cross_certified: 1
 

Detailed Description

Introduction point information located in a descriptor.

Definition at line 100 of file hs_descriptor.h.

Field Documentation

◆ auth_key_cert

tor_cert_t* auth_key_cert

Authentication key used to establish the introduction point circuit and cross-certifies the blinded public key for the replica thus signed by the blinded key and in turn signs it.

Definition at line 112 of file hs_descriptor.h.

Referenced by intro_point_is_usable(), and setup_desc_intro_point().

◆ 

struct { ... } cert

Cross certified cert with the descriptor signing key (RSA->Ed). Because of the cross certification API, we need to keep the certificate binary blob and its length in order to properly encode it after.

Referenced by encode_legacy_key().

◆ cross_certified

unsigned int cross_certified

True iff the introduction point has passed the cross certification. Upon decoding an intro point, this must be true.

Definition at line 140 of file hs_descriptor.h.

◆ enc_key

Encryption key for the "ntor" type.

Definition at line 115 of file hs_descriptor.h.

Referenced by encode_enc_key().

◆ enc_key_cert

tor_cert_t* enc_key_cert

Certificate cross certifying the descriptor signing key by the encryption curve25519 key. This certificate contains the signing key and is of type CERT_TYPE_CROSS_HS_IP_KEYS [0B].

Definition at line 120 of file hs_descriptor.h.

◆ encoded

uint8_t* encoded

Definition at line 133 of file hs_descriptor.h.

◆ key

RSA public key.

Definition at line 127 of file hs_descriptor.h.

◆ 

struct { ... } legacy

(Optional): If this introduction point is a legacy one that is version <= 0.2.9.x (HSIntro=3), we use this extra key for the intro point to be able to relay the cells to the service correctly.

Referenced by encode_legacy_key().

◆ len

size_t len

Definition at line 134 of file hs_descriptor.h.

◆ link_specifiers

smartlist_t* link_specifiers

Link specifier(s) which details how to extend to the relay. This list contains link_specifier_t objects. It MUST have at least one.

Definition at line 103 of file hs_descriptor.h.

Referenced by desc_intro_point_to_extend_info(), encode_intro_point(), and hs_desc_intro_point_free_().

◆ onion_key

Onion key of the introduction point used to extend to it for the ntor handshake.

Definition at line 107 of file hs_descriptor.h.

Referenced by desc_intro_point_to_extend_info(), encode_onion_key(), and setup_desc_intro_point().


The documentation for this struct was generated from the following file: