34 #ifndef GRPC_GRPC_SECURITY_H
35 #define GRPC_GRPC_SECURITY_H
57 #define GRPC_GOOGLE_CREDENTIALS_ENV_VAR "GOOGLE_APPLICATION_CREDENTIALS"
67 #define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR \
68 "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
115 const char *json_key,
const char *scope,
gpr_timespec token_lifetime);
132 const char *json_refresh_token);
137 const char *access_token);
141 const char *authority_selector);
152 #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
183 size_t num_key_cert_pairs,
int force_client_auth);
204 #define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME "transport_security_type"
205 #define GRPC_SSL_TRANSPORT_SECURITY_TYPE "ssl"
207 #define GRPC_X509_CN_PROPERTY_NAME "x509_common_name"
208 #define GRPC_X509_SAN_PROPERTY_NAME "x509_subject_alternative_name"
Definition: security_context.h:49
int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
Definition: server_secure_chttp2.c:196
size_t value_length
Definition: grpc_security.h:222
grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds)
Definition: security_context.c:47
grpc_channel * grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args)
Definition: secure_channel_create.c:185
void grpc_credentials_release(grpc_credentials *creds)
Definition: credentials.c:93
An array of arguments that can be passed around.
Definition: grpc.h:113
char * value
Definition: grpc_security.h:221
grpc_credentials * grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2)
Definition: credentials.c:1097
const gpr_timespec grpc_max_auth_token_lifetime
Definition: json_token.c:52
grpc_credentials * grpc_google_default_credentials_create(void)
Definition: google_default_credentials.c:164
const char * private_key
Definition: grpc_security.h:74
const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)
Definition: security_context.c:193
char * name
Definition: grpc_security.h:220
const grpc_auth_context * ctx
Definition: grpc_security.h:213
const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)
Definition: security_context.c:175
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)
Definition: security_context.c:180
grpc_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
Definition: credentials.c:294
Definition: credentials.h:216
Definition: credentials.h:145
const char * name
Definition: grpc_security.h:215
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
size_t index
Definition: grpc_security.h:214
grpc_credentials * grpc_access_token_credentials_create(const char *access_token)
Definition: credentials.c:864
grpc_credentials * grpc_iam_credentials_create(const char *authorization_token, const char *authority_selector)
Definition: credentials.c:1205
Definition: grpc_security.h:212
Definition: grpc_security.h:71
struct grpc_auth_property_iterator grpc_auth_property_iterator
grpc_credentials * grpc_refresh_token_credentials_create(const char *json_refresh_token)
Definition: credentials.c:762
const char * cert_chain
Definition: grpc_security.h:78
grpc_credentials * grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime)
Definition: credentials.c:689
grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)
Definition: security_context.c:225
Definition: grpc_security.h:219
grpc_credentials * grpc_compute_engine_credentials_create(void)
Definition: credentials.c:632
struct grpc_auth_property grpc_auth_property
grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)
Definition: security_context.c:185
grpc_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime)
Definition: credentials.c:426
grpc_auth_context * grpc_call_auth_context(grpc_call *call)
Definition: security_context.c:72
void grpc_server_credentials_release(grpc_server_credentials *creds)
Definition: credentials.c:138
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)
Definition: security_context.c:216
void grpc_auth_context_release(grpc_auth_context *context)
Definition: security_context.c:84
grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
Definition: credentials.c:305