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: security_context.h:49
Definition: string_view.h:69
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
GPRAPI void gpr_free(void *ptr)
free
Definition: alloc.cc:50
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
grpc_error * grpc_ssl_check_peer_name(grpc_core::StringView peer_name, const tsi_peer *peer)
Definition: ssl_utils.cc:128
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
struct tsi_ssl_session_cache tsi_ssl_session_cache
Definition: ssl_transport_security.h:58
Definition: ssl_utils.h:129
PemKeyCertPair & operator=(PemKeyCertPair &&other)
Definition: ssl_utils.h:144
GPRAPI char * gpr_strdup(const char *src)
String utility functions.
Definition: string.cc:37
grpc_error * grpc_ssl_check_alpn(const tsi_peer *peer)
Definition: ssl_utils.cc:111
PemKeyCertPair(PemKeyCertPair &&other)
Definition: ssl_utils.h:140
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...
Definition: slice.h:60
Definition: error_internal.h:39
Definition: ssl_transport_security.cc:86
char * private_key() const
Definition: ssl_utils.h:160
static const char * GetPemRootCerts()
Definition: ssl_utils.cc:413
Round Robin Policy.
Definition: backend_metric.cc:24
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
tsi_peer grpc_shallow_peer_from_ssl_auth_context(const grpc_auth_context *auth_context)
Definition: ssl_utils.cc:251
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
Definition: transport_security_interface.h:198
tsi_client_certificate_request_type
Definition: transport_security_interface.h:49
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
Object that holds a private key / certificate chain pair in PEM format.
Definition: grpc_security.h:156
const char * grpc_get_ssl_cipher_suites(void)
Definition: ssl_utils.cc:82
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:59
static grpc_slice ComputePemRootCerts()
Definition: ssl_utils.cc:421
Definition: ssl_transport_security.h:78
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
const char ** grpc_fill_alpn_protocol_strings(size_t *num_alpn_protocols)
Definition: ssl_utils.cc:162
Definition: ssl_transport_security.cc:77
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
int grpc_ssl_host_matches_name(const tsi_peer *peer, grpc_core::StringView peer_name)
Definition: ssl_utils.cc:173
char * cert_chain() const
Definition: ssl_utils.h:161
PemKeyCertPair(grpc_ssl_pem_key_cert_pair *pair)
Definition: ssl_utils.h:133
PemKeyCertPair(const PemKeyCertPair &other)
Definition: ssl_utils.h:151
static const tsi_ssl_root_certs_store * GetRootStore()
Definition: ssl_utils.cc:408
grpc_security_status
Definition: security_connector.h:38
void grpc_shallow_peer_destruct(tsi_peer *peer)
Definition: ssl_utils.cc:282
Definition: ssl_transport_security.cc:94
PemKeyCertPair & operator=(const PemKeyCertPair &other)
Definition: ssl_utils.h:154
Definition: ssl_utils.h:99