19 #ifndef GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H 20 #define GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H 28 #define TSI_X509_CERTIFICATE_TYPE "X509" 31 #define TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY "x509_subject_common_name" 32 #define TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY \ 33 "x509_subject_alternative_name" 34 #define TSI_SSL_SESSION_REUSED_PEER_PROPERTY "ssl_session_reused" 36 #define TSI_X509_PEM_CERT_PROPERTY "x509_pem_cert" 38 #define TSI_SSL_ALPN_SELECTED_PROTOCOL "ssl_alpn_selected_protocol" 49 const char* pem_roots);
111 const char* pem_root_certs,
const char* cipher_suites,
112 const char** alpn_protocols, uint16_t num_alpn_protocols,
215 size_t num_key_cert_pairs,
const char* pem_client_root_certs,
216 int force_client_auth,
const char* cipher_suites,
217 const char** alpn_protocols, uint16_t num_alpn_protocols,
229 size_t num_key_cert_pairs,
const char* pem_client_root_certs,
231 const char* cipher_suites,
const char** alpn_protocols,
337 const char* pem_cert,
tsi_peer* peer);
tsi_ssl_server_handshaker_options()
Definition: ssl_transport_security.h:269
Definition: transport_security_interface.h:51
void(* tsi_ssl_handshaker_factory_destructor)(tsi_ssl_handshaker_factory *factory)
Definition: ssl_transport_security.h:321
Definition: string_view.h:69
tsi_ssl_root_certs_store * tsi_ssl_root_certs_store_create(const char *pem_roots)
Definition: ssl_transport_security.cc:783
tsi_result tsi_create_ssl_client_handshaker_factory(const tsi_ssl_pem_key_cert_pair *pem_key_cert_pair, const char *pem_root_certs, const char *cipher_suites, const char **alpn_protocols, uint16_t num_alpn_protocols, tsi_ssl_client_handshaker_factory **factory)
Definition: ssl_transport_security.cc:1631
tsi_client_certificate_request_type client_certificate_request
Definition: ssl_transport_security.h:248
struct tsi_ssl_session_cache tsi_ssl_session_cache
Definition: ssl_transport_security.h:58
const char ** alpn_protocols
Definition: ssl_transport_security.h:137
const char * session_ticket_key
Definition: ssl_transport_security.h:265
void tsi_ssl_server_handshaker_factory_unref(tsi_ssl_server_handshaker_factory *self)
Definition: ssl_transport_security.cc:1489
void tsi_ssl_session_cache_unref(tsi_ssl_session_cache *cache)
Definition: ssl_transport_security.cc:831
size_t num_alpn_protocols
Definition: ssl_transport_security.h:141
tsi_result tsi_ssl_extract_x509_subject_names_from_pem_cert(const char *pem_cert, tsi_peer *peer)
Definition: ssl_transport_security.cc:715
tsi_result tsi_create_ssl_client_handshaker_factory_with_options(const tsi_ssl_client_handshaker_options *options, tsi_ssl_client_handshaker_factory **factory)
Definition: ssl_transport_security.cc:1646
Definition: ssl_transport_security.cc:86
void tsi_ssl_session_cache_ref(tsi_ssl_session_cache *cache)
Definition: ssl_transport_security.cc:826
Definition: ssl_transport_security.cc:81
tsi_result tsi_create_ssl_server_handshaker_factory_ex(const tsi_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, const char *pem_client_root_certs, tsi_client_certificate_request_type client_certificate_request, const char *cipher_suites, const char **alpn_protocols, uint16_t num_alpn_protocols, tsi_ssl_server_handshaker_factory **factory)
Definition: ssl_transport_security.cc:1759
const char * cipher_suites
Definition: ssl_transport_security.h:254
uint16_t num_alpn_protocols
Definition: ssl_transport_security.h:262
Definition: transport_security_interface.h:198
tsi_client_certificate_request_type
Definition: transport_security_interface.h:49
const char * private_key
Definition: ssl_transport_security.h:81
tsi_result tsi_create_ssl_server_handshaker_factory(const tsi_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, const char *pem_client_root_certs, int force_client_auth, const char *cipher_suites, const char **alpn_protocols, uint16_t num_alpn_protocols, tsi_ssl_server_handshaker_factory **factory)
Definition: ssl_transport_security.cc:1746
Definition: ssl_transport_security.h:234
const tsi_ssl_pem_key_cert_pair * pem_key_cert_pairs
Definition: ssl_transport_security.h:237
tsi_result
Definition: transport_security_interface.h:31
tsi_ssl_session_cache * tsi_ssl_session_cache_create_lru(size_t capacity)
Definition: ssl_transport_security.cc:820
const tsi_ssl_pem_key_cert_pair * pem_key_cert_pair
Definition: ssl_transport_security.h:119
size_t num_key_cert_pairs
Definition: ssl_transport_security.h:240
int tsi_ssl_peer_matches_name(const tsi_peer *peer, grpc_core::StringView name)
Definition: ssl_transport_security.cc:1924
Definition: ssl_transport_security.h:78
const char * cipher_suites
Definition: ssl_transport_security.h:133
Definition: ssl_transport_security.h:325
Definition: ssl_transport_security.cc:77
const char * pem_root_certs
Definition: ssl_transport_security.h:122
void tsi_ssl_root_certs_store_destroy(tsi_ssl_root_certs_store *self)
Definition: ssl_transport_security.cc:812
const char ** alpn_protocols
Definition: ssl_transport_security.h:258
const char * cert_chain
Definition: ssl_transport_security.h:85
tsi_ssl_client_handshaker_options()
Definition: ssl_transport_security.h:145
const tsi_ssl_root_certs_store * root_store
Definition: ssl_transport_security.h:127
void tsi_ssl_client_handshaker_factory_unref(tsi_ssl_client_handshaker_factory *factory)
Definition: ssl_transport_security.cc:1451
Definition: transport_security.h:79
tsi_result tsi_ssl_client_handshaker_factory_create_handshaker(tsi_ssl_client_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
Definition: ssl_transport_security.cc:1444
Definition: ssl_transport_security.h:115
tsi_ssl_session_cache * session_cache
Definition: ssl_transport_security.h:143
const tsi_ssl_handshaker_factory_vtable * tsi_ssl_handshaker_factory_swap_vtable(tsi_ssl_handshaker_factory *factory, tsi_ssl_handshaker_factory_vtable *new_vtable)
Definition: ssl_transport_security.cc:1965
const char * pem_client_root_certs
Definition: ssl_transport_security.h:244
size_t session_ticket_key_size
Definition: ssl_transport_security.h:267
Definition: ssl_transport_security.cc:94
tsi_result tsi_ssl_server_handshaker_factory_create_handshaker(tsi_ssl_server_handshaker_factory *self, tsi_handshaker **handshaker)
Definition: ssl_transport_security.cc:1480
tsi_ssl_handshaker_factory_destructor destroy
Definition: ssl_transport_security.h:326
tsi_result tsi_create_ssl_server_handshaker_factory_with_options(const tsi_ssl_server_handshaker_options *options, tsi_ssl_server_handshaker_factory **factory)
Definition: ssl_transport_security.cc:1777