34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
51 #define GRPC_SSL_URL_SCHEME "https"
52 #define GRPC_FAKE_SECURITY_URL_SCHEME "http+fake_security"
61 #define GRPC_SECURITY_CONNECTOR_ARG "grpc.security_connector"
84 #ifdef GRPC_SECURITY_CONNECTOR_REFCOUNT_DEBUG
85 #define GRPC_SECURITY_CONNECTOR_REF(p, r) \
86 grpc_security_connector_ref((p), __FILE__, __LINE__, (r))
87 #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) \
88 grpc_security_connector_unref((p), __FILE__, __LINE__, (r))
93 const char *file,
int line,
96 #define GRPC_SECURITY_CONNECTOR_REF(p, r) grpc_security_connector_ref((p))
97 #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) grpc_security_connector_unref((p))
189 const char *target_name,
const char *overridden_target_name,
Definition: security_context.h:49
Definition: security_connector.h:66
grpc_channel_security_connector * grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async)
Definition: security_connector.c:295
int is_client_side
Definition: security_connector.h:78
unsigned char * pem_cert_chain
Definition: security_connector.h:168
size_t pem_private_key_size
Definition: security_connector.h:167
unsigned char * pem_private_key
Definition: security_connector.h:166
Definition: sync_generic.h:49
void(* grpc_security_check_cb)(void *user_data, grpc_security_status status)
Definition: security_connector.h:63
grpc_security_status grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc)
Definition: security_connector.c:623
An array of arguments that can be passed around.
Definition: grpc.h:113
gpr_refcount refcount
Definition: security_connector.h:77
grpc_security_connector base
Definition: security_connector.h:136
const char * url_scheme
Definition: security_connector.h:79
grpc_security_connector * grpc_security_connector_ref(grpc_security_connector *policy)
Definition: security_connector.c:136
const tsi_peer_property * tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name)
Definition: security_connector.c:87
unsigned char ** pem_cert_chains
Definition: security_connector.h:199
grpc_security_status grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.c:120
size_t * pem_private_keys_sizes
Definition: security_connector.h:198
size_t * pem_cert_chains_sizes
Definition: security_connector.h:200
A single argument...
Definition: grpc.h:91
grpc_security_status grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc)
Definition: security_connector.c:544
unsigned char ** pem_private_keys
Definition: security_connector.h:197
void grpc_security_connector_unref(grpc_security_connector *policy)
Definition: security_connector.c:153
Definition: credentials.h:145
Definition: security_connector.h:46
Definition: transport_security_interface.h:192
grpc_credentials * request_metadata_creds
Definition: security_connector.h:137
size_t grpc_get_default_ssl_roots(const unsigned char **pem_root_certs)
Definition: security_connector.c:535
size_t pem_root_certs_size
Definition: security_connector.h:171
grpc_security_connector * grpc_security_connector_from_arg(const grpc_arg *arg)
Definition: security_connector.c:177
Definition: security_connector.h:196
grpc_arg grpc_security_connector_to_arg(grpc_security_connector *sc)
Definition: security_connector.c:167
Definition: security_connector.h:75
const grpc_security_connector_vtable * vtable
Definition: security_connector.h:76
Definition: security_connector.h:135
unsigned char * pem_root_certs
Definition: security_connector.h:170
grpc_security_status(* check_call_host)(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.h:138
int force_client_auth
Definition: security_connector.h:204
Definition: security_connector.h:45
grpc_security_status grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker)
Definition: security_connector.c:104
Definition: security_connector.h:165
unsigned char * pem_root_certs
Definition: security_connector.h:202
grpc_security_status grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.c:110
grpc_auth_context * tsi_ssl_peer_to_auth_context(const tsi_peer *peer)
Definition: security_connector.c:409
Definition: transport_security.h:86
size_t pem_root_certs_size
Definition: security_connector.h:203
grpc_auth_context * auth_context
Definition: security_connector.h:80
grpc_security_connector * grpc_fake_server_security_connector_create(void)
Definition: security_connector.c:311
grpc_security_status
Definition: security_connector.h:43
size_t num_key_cert_pairs
Definition: security_connector.h:201
size_t pem_cert_chain_size
Definition: security_connector.h:169
Definition: security_connector.h:44
Definition: transport_security_interface.h:184
grpc_security_connector * grpc_find_security_connector_in_args(const grpc_channel_args *args)
Definition: security_connector.c:187