Go to the documentation of this file.
23 #include "absl/status/status.h"
24 #include "absl/strings/str_cat.h"
25 #include "absl/strings/string_view.h"
58 class grpc_httpcli_ssl_channel_security_connector final
61 explicit grpc_httpcli_ssl_channel_security_connector(
char* secure_peer_name)
68 ~grpc_httpcli_ssl_channel_security_connector()
override {
81 options.root_store = root_store;
88 HandshakeManager* handshake_mgr)
override {
107 RefCountedPtr<grpc_auth_context>* ,
128 reinterpret_cast<const grpc_httpcli_ssl_channel_security_connector*
>(
135 return ImmediateOkStatus();
145 RefCountedPtr<grpc_channel_security_connector>
146 httpcli_ssl_channel_security_connector_create(
148 const char* secure_peer_name) {
151 "Cannot assert a secure peer name without a trust root.");
154 RefCountedPtr<grpc_httpcli_ssl_channel_security_connector>
c =
155 MakeRefCounted<grpc_httpcli_ssl_channel_security_connector>(
156 secure_peer_name ==
nullptr ?
nullptr :
gpr_strdup(secure_peer_name));
168 RefCountedPtr<grpc_channel_security_connector> create_security_connector(
169 RefCountedPtr<grpc_call_credentials> ,
const char*
target,
175 if (root_store ==
nullptr) {
179 const char* ssl_host_override =
181 if (ssl_host_override !=
nullptr) {
182 target = ssl_host_override;
184 return httpcli_ssl_channel_security_connector_create(
pem_root_certs,
188 RefCountedPtr<grpc_channel_credentials> duplicate_without_call_credentials()
193 UniqueTypeName
type()
const override {
194 static UniqueTypeName::Factory kFactory(
"HttpRequestSSL");
195 return kFactory.Create();
211 static auto* creds =
new HttpRequestSSLCredentials();
char * grpc_channel_args_find_string(const grpc_channel_args *args, const char *name)
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
tsi_result tsi_create_ssl_client_handshaker_factory_with_options(const tsi_ssl_client_handshaker_options *options, tsi_ssl_client_handshaker_factory **factory)
static char * pem_root_certs
RefCountedPtr< Handshaker > SecurityHandshakerCreate(tsi_handshaker *handshaker, grpc_security_connector *connector, const grpc_channel_args *args)
Creates a security handshaker using handshaker.
struct grpc_pollset_set grpc_pollset_set
void tsi_ssl_client_handshaker_factory_unref(tsi_ssl_client_handshaker_factory *factory)
GPRAPI void gpr_free(void *ptr)
static const char * GetPemRootCerts()
RefCountedPtr< grpc_channel_credentials > CreateHttpRequestSSLCredentials()
static const tsi_ssl_root_certs_store * GetRootStore()
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG
int tsi_ssl_peer_matches_name(const tsi_peer *peer, absl::string_view name)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
const char * tsi_result_to_string(tsi_result result)
static void check_peer(char *peer_name)
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc)
#define GRPC_ERROR_UNREF(err)
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
tsi_ssl_client_handshaker_factory * handshaker_factory_
GPRAPI char * gpr_strdup(const char *src)
internal::RefMatcher< T & > Ref(T &x)
void tsi_peer_destruct(tsi_peer *self)
tsi_result tsi_ssl_client_handshaker_factory_create_handshaker(tsi_ssl_client_handshaker_factory *factory, const char *server_name_indication, size_t network_bio_buf_size, size_t ssl_bio_buf_size, tsi_handshaker **handshaker)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:02