Tor 0.4.9.3-alpha-dev
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 client_get_random_intro(), decode_introduction_point(), encode_intro_point(), hs_client_setup_intro_circ_auth_key(), hs_desc_intro_point_free_(), intro_point_is_usable(), setup_desc_intro_point(), and setup_introduce1_data().

◆ [struct]

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 decode_intro_legacy_key(), encode_intro_point(), encode_legacy_key(), hs_desc_intro_point_free_(), and setup_desc_intro_point().

◆ 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.

Referenced by decode_intro_legacy_key(), and decode_introduction_point().

◆ enc_key

Encryption key for the "ntor" type.

Definition at line 115 of file hs_descriptor.h.

Referenced by consider_sending_introduce1(), decode_introduction_point(), encode_enc_key(), setup_desc_intro_point(), and setup_introduce1_data().

◆ 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.

Referenced by decode_introduction_point(), encode_enc_key(), hs_desc_intro_point_free_(), and setup_desc_intro_point().

◆ encoded

uint8_t* encoded

Definition at line 133 of file hs_descriptor.h.

◆ key

◆ [struct]

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 decode_intro_legacy_key(), encode_intro_point(), encode_legacy_key(), hs_desc_intro_point_free_(), and setup_desc_intro_point().

◆ 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 decode_introduction_point(), desc_intro_point_to_extend_info(), encode_intro_point(), hs_desc_intro_point_free_(), hs_desc_intro_point_new(), and setup_desc_intro_point().

◆ 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 decode_introduction_point(), 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: