Data Fields
hs_desc_intro_point_t Struct Reference

#include <hs_descriptor.h>

Data Fields

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

Detailed Description

Introduction point information located in a descriptor.

Definition at line 99 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 111 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 139 of file hs_descriptor.h.

◆ enc_key

Encryption key for the "ntor" type.

Definition at line 114 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 119 of file hs_descriptor.h.

◆ key

RSA public key.

Definition at line 126 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().

◆ 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 102 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 106 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: