Tor 0.4.9.0-alpha-dev
or_handshake_certs_st.h
Go to the documentation of this file.
1/* Copyright (c) 2001 Matej Pfajfar.
2 * Copyright (c) 2001-2004, Roger Dingledine.
3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
5/* See LICENSE for licensing information */
6
7/**
8 * @file or_handshake_certs_st.h
9 * @brief OR handshake certs structure
10 **/
11
12#ifndef OR_HANDSHAKE_CERTS_ST
13#define OR_HANDSHAKE_CERTS_ST
14
15struct tor_x509_cert_t;
16
17/** Structure to hold all the certificates we've received on an OR connection
18 */
20 /** True iff we originated this connection. */
22 /** The cert for the 'auth' RSA key that's supposed to sign the AUTHENTICATE
23 * cell. Signed with the RSA identity key. */
24 struct tor_x509_cert_t *auth_cert;
25 /** The cert for the 'link' RSA key that was used to negotiate the TLS
26 * connection. Signed with the RSA identity key. */
27 struct tor_x509_cert_t *link_cert;
28 /** A self-signed identity certificate: the RSA identity key signed
29 * with itself. */
30 struct tor_x509_cert_t *id_cert;
31 /** The Ed25519 signing key, signed with the Ed25519 identity key. */
32 struct tor_cert_st *ed_id_sign;
33 /** A digest of the X509 link certificate for the TLS connection, signed
34 * with the Ed25519 siging key. */
35 struct tor_cert_st *ed_sign_link;
36 /** The Ed25519 authentication key (that's supposed to sign an AUTHENTICATE
37 * cell) , signed with the Ed25519 siging key. */
38 struct tor_cert_st *ed_sign_auth;
39 /** The Ed25519 identity key, crosssigned with the RSA identity key. */
41 /** The length of <b>ed_rsa_crosscert</b> in bytes */
43};
44
45#endif /* !defined(OR_HANDSHAKE_CERTS_ST) */
struct tor_cert_st * ed_id_sign
struct tor_cert_st * ed_sign_link
struct tor_x509_cert_t * link_cert
struct tor_cert_st * ed_sign_auth
struct tor_x509_cert_t * auth_cert
struct tor_x509_cert_t * id_cert