34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
37 #include <grpc/grpc_security.h>
38 #include "src/core/iomgr/endpoint.h"
39 #include "src/core/tsi/transport_security_interface.h"
45 GRPC_SECURITY_PENDING,
47 } grpc_security_status;
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"
63 typedef void (*grpc_security_check_cb)(
void *user_data,
64 grpc_security_status status);
71 grpc_security_check_cb cb,
79 const char *url_scheme;
90 grpc_security_status grpc_security_connector_create_handshaker(
100 grpc_security_status grpc_security_connector_check_peer(
126 grpc_security_check_cb cb,
135 grpc_security_status grpc_channel_security_connector_check_call_host(
137 grpc_security_check_cb cb,
void *user_data);
152 unsigned char *pem_private_key;
153 size_t pem_private_key_size;
154 unsigned char *pem_cert_chain;
155 size_t pem_cert_chain_size;
156 unsigned char *pem_root_certs;
157 size_t pem_root_certs_size;
173 grpc_security_status grpc_ssl_channel_security_connector_create(
179 size_t grpc_get_default_ssl_roots(
const unsigned char **pem_root_certs);
183 unsigned char **pem_private_keys;
184 size_t *pem_private_keys_sizes;
185 unsigned char **pem_cert_chains;
186 size_t *pem_cert_chains_sizes;
187 size_t num_key_cert_pairs;
188 unsigned char *pem_root_certs;
189 size_t pem_root_certs_size;
198 grpc_security_status grpc_ssl_server_security_connector_create(
Definition: security_connector.h:66
Definition: sync_generic.h:49
Definition: credentials.h:111
Definition: transport_security_interface.h:192
Definition: security_connector.h:182
Definition: security_connector.h:75
Definition: security_connector.h:121
Definition: security_connector.h:151
Definition: transport_security.h:86