tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

x509_internal.h (2022B)


      1 /* Copyright (c) 2003, Roger Dingledine
      2 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
      3 * Copyright (c) 2007-2021, The Tor Project, Inc. */
      4 /* See LICENSE for licensing information */
      5 
      6 #ifndef TOR_X509_INTERNAL_H
      7 #define TOR_X509_INTERNAL_H
      8 
      9 /**
     10 * \file x509.h
     11 * \brief Internal headers for tortls.c
     12 **/
     13 
     14 #include "lib/crypt_ops/crypto_rsa.h"
     15 #include "lib/testsupport/testsupport.h"
     16 
     17 /**
     18 * How skewed do we allow our clock to be with respect to certificates that
     19 * seem to be expired? (seconds)
     20 */
     21 #define TOR_X509_PAST_SLOP (2*24*60*60)
     22 /**
     23 * How skewed do we allow our clock to be with respect to certificates that
     24 * seem to come from the future? (seconds)
     25 */
     26 #define  TOR_X509_FUTURE_SLOP (30*24*60*60)
     27 
     28 MOCK_DECL(tor_x509_cert_impl_t *, tor_tls_create_certificate,
     29                                                   (crypto_pk_t *rsa,
     30                                                    crypto_pk_t *rsa_sign,
     31                                                    const char *cname,
     32                                                    const char *cname_sign,
     33                                                  unsigned int cert_lifetime));
     34 MOCK_DECL(tor_x509_cert_t *, tor_x509_cert_new,
     35          (tor_x509_cert_impl_t *x509_cert));
     36 
     37 int tor_x509_check_cert_lifetime_internal(int severity,
     38                                          const tor_x509_cert_impl_t *cert,
     39                                          time_t now,
     40                                          int past_tolerance,
     41                                          int future_tolerance);
     42 
     43 void tor_x509_cert_impl_free_(tor_x509_cert_impl_t *cert);
     44 #define tor_x509_cert_impl_free(cert) \
     45  FREE_AND_NULL(tor_x509_cert_impl_t, tor_x509_cert_impl_free_, (cert))
     46 tor_x509_cert_impl_t *tor_x509_cert_impl_dup_(tor_x509_cert_impl_t *cert);
     47 #ifdef ENABLE_OPENSSL
     48 int tor_x509_cert_set_cached_der_encoding(tor_x509_cert_t *cert);
     49 #else
     50 #define tor_x509_cert_set_cached_der_encoding(cert) (0)
     51 #endif
     52 
     53 #endif /* !defined(TOR_X509_INTERNAL_H) */