19 #ifndef GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_SSL_UTILS_H
20 #define GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_SSL_UTILS_H
42 #define GRPC_SSL_URL_SCHEME "https"
82 const char* pem_root_certs,
88 const tsi_peer* peer,
const char* transport_security_type);
117 static void InitRootStore();
120 static void InitRootStoreOnce();
134 : private_key_(const_cast<char*>(pair->
private_key)),
135 cert_chain_(const_cast<char*>(pair->
cert_chain)) {
141 private_key_ = std::move(other.private_key_);
142 cert_chain_ = std::move(other.cert_chain_);
145 private_key_ = std::move(other.private_key_);
146 cert_chain_ = std::move(other.cert_chain_);
Definition: ssl_utils.h:99
static const char * GetPemRootCerts()
Definition: ssl_utils.cc:413
static const tsi_ssl_root_certs_store * GetRootStore()
Definition: ssl_utils.cc:408
static grpc_slice ComputePemRootCerts()
Definition: ssl_utils.cc:421
Definition: ssl_utils.h:129
PemKeyCertPair & operator=(PemKeyCertPair &&other)
Definition: ssl_utils.h:144
PemKeyCertPair(PemKeyCertPair &&other)
Definition: ssl_utils.h:140
char * private_key() const
Definition: ssl_utils.h:160
PemKeyCertPair(grpc_ssl_pem_key_cert_pair *pair)
Definition: ssl_utils.h:133
PemKeyCertPair & operator=(const PemKeyCertPair &other)
Definition: ssl_utils.h:154
PemKeyCertPair(const PemKeyCertPair &other)
Definition: ssl_utils.h:151
char * cert_chain() const
Definition: ssl_utils.h:161
Definition: string_view.h:69
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:59
GPRAPI void gpr_free(void *ptr)
free
Definition: alloc.cc:50
Round Robin Policy.
Definition: backend_metric.cc:24
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
grpc_security_status
Definition: security_connector.h:38
struct tsi_ssl_session_cache tsi_ssl_session_cache
Definition: ssl_transport_security.h:58
grpc_core::RefCountedPtr< grpc_auth_context > grpc_ssl_peer_to_auth_context(const tsi_peer *peer, const char *transport_security_type)
Definition: ssl_utils.cc:198
const char ** grpc_fill_alpn_protocol_strings(size_t *num_alpn_protocols)
Definition: ssl_utils.cc:162
bool grpc_ssl_check_call_host(grpc_core::StringView host, grpc_core::StringView target_name, grpc_core::StringView overridden_target_name, grpc_auth_context *auth_context, grpc_closure *on_call_host_checked, grpc_error **error)
Definition: ssl_utils.cc:142
int grpc_ssl_cmp_target_name(grpc_core::StringView target_name, grpc_core::StringView other_target_name, grpc_core::StringView overridden_target_name, grpc_core::StringView other_overridden_target_name)
Definition: ssl_utils.cc:188
tsi_client_certificate_request_type grpc_get_tsi_client_certificate_request_type(grpc_ssl_client_certificate_request_type grpc_request_type)
Definition: ssl_utils.cc:88
const char * grpc_get_ssl_cipher_suites(void)
Definition: ssl_utils.cc:82
grpc_security_status grpc_ssl_tsi_client_handshaker_factory_init(tsi_ssl_pem_key_cert_pair *key_cert_pair, const char *pem_root_certs, tsi_ssl_session_cache *ssl_session_cache, tsi_ssl_client_handshaker_factory **handshaker_factory)
Definition: ssl_utils.cc:286
tsi_peer grpc_shallow_peer_from_ssl_auth_context(const grpc_auth_context *auth_context)
Definition: ssl_utils.cc:251
int grpc_ssl_host_matches_name(const tsi_peer *peer, grpc_core::StringView peer_name)
Definition: ssl_utils.cc:173
void grpc_shallow_peer_destruct(tsi_peer *peer)
Definition: ssl_utils.cc:282
grpc_security_status grpc_ssl_tsi_server_handshaker_factory_init(tsi_ssl_pem_key_cert_pair *key_cert_pairs, size_t num_key_cert_pairs, const char *pem_root_certs, grpc_ssl_client_certificate_request_type client_certificate_request, tsi_ssl_server_handshaker_factory **handshaker_factory)
Definition: ssl_utils.cc:330
grpc_error * grpc_ssl_check_alpn(const tsi_peer *peer)
Definition: ssl_utils.cc:111
grpc_error * grpc_ssl_check_peer_name(grpc_core::StringView peer_name, const tsi_peer *peer)
Definition: ssl_utils.cc:128
GPRAPI char * gpr_strdup(const char *src)
String utility functions.
Definition: string.cc:37
Definition: security_context.h:51
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: error_internal.h:39
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice.h:60
Object that holds a private key / certificate chain pair in PEM format.
Definition: grpc_security.h:156
Definition: transport_security_interface.h:198
Definition: ssl_transport_security.cc:86
Definition: ssl_transport_security.h:78
Definition: ssl_transport_security.cc:77
Definition: ssl_transport_security.cc:94
tsi_client_certificate_request_type
Definition: transport_security_interface.h:49