Go to the documentation of this file.
27 #include "absl/strings/string_view.h"
63 const char* overridden_target_name =
nullptr;
65 for (
size_t i = 0;
args &&
i <
args->num_args;
i++) {
69 overridden_target_name =
arg->
value.string;
80 overridden_target_name, ssl_session_cache);
99 if (pem_key_cert_pair !=
nullptr) {
111 if (verify_options !=
nullptr) {
136 "grpc_ssl_credentials_create(pem_root_certs=%s, "
137 "pem_key_cert_pair=%p, "
138 "verify_options=%p, "
140 4, (
pem_root_certs, pem_key_cert_pair, verify_options, reserved));
152 "grpc_ssl_credentials_create(pem_root_certs=%s, "
153 "pem_key_cert_pair=%p, "
154 "verify_options=%p, "
156 4, (
pem_root_certs, pem_key_cert_pair, verify_options, reserved));
175 if (
options.certificate_config_fetcher !=
nullptr) {
180 options.certificate_config->pem_key_cert_pairs,
181 options.certificate_config->num_key_cert_pairs,
182 options.client_certificate_request);
204 size_t num_key_cert_pairs) {
206 if (num_key_cert_pairs > 0) {
211 for (
size_t i = 0;
i < num_key_cert_pairs;
i++) {
213 GPR_ASSERT(pem_key_cert_pairs[
i].cert_chain !=
nullptr);
222 size_t num_key_cert_pairs,
227 pem_key_cert_pairs, num_key_cert_pairs);
244 size_t num_key_cert_pairs) {
249 if (num_key_cert_pairs > 0) {
254 config->num_key_cert_pairs = num_key_cert_pairs;
255 for (
size_t i = 0;
i < num_key_cert_pairs;
i++) {
257 GPR_ASSERT(pem_key_cert_pairs[
i].cert_chain !=
nullptr);
258 config->pem_key_cert_pairs[
i].cert_chain =
260 config->pem_key_cert_pairs[
i].private_key =
268 if (
config ==
nullptr)
return;
269 for (
size_t i = 0;
i <
config->num_key_cert_pairs;
i++) {
270 gpr_free(
const_cast<char*
>(
config->pem_key_cert_pairs[
i].private_key));
289 options->client_certificate_request = client_certificate_request;
313 options->client_certificate_request = client_certificate_request;
314 options->certificate_config_fetcher = fetcher;
321 size_t num_key_cert_pairs,
int force_client_auth,
void* reserved) {
332 size_t num_key_cert_pairs,
336 "grpc_ssl_server_credentials_create_ex("
337 "pem_root_certs=%s, pem_key_cert_pairs=%p, num_key_cert_pairs=%lu, "
338 "client_certificate_request=%d, reserved=%p)",
340 (
pem_root_certs, pem_key_cert_pairs, (
unsigned long)num_key_cert_pairs,
341 client_certificate_request, reserved));
349 client_certificate_request, cert_config);
360 "Invalid options trying to create SSL server credentials.");
364 if (
options->certificate_config ==
nullptr &&
365 options->certificate_config_fetcher ==
nullptr) {
367 "SSL server credentials options must specify either "
368 "certificate config or fetcher.");
370 }
else if (
options->certificate_config_fetcher !=
nullptr &&
371 options->certificate_config_fetcher->cb ==
nullptr) {
372 gpr_log(
GPR_ERROR,
"Certificate config fetcher callback must not be NULL.");
385 if (
o ==
nullptr)
return;
static grpc_core::UniqueTypeName Type()
grpc_ssl_server_certificate_config * grpc_ssl_server_certificate_config_create(const char *pem_root_certs, const grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs)
void * verify_peer_callback_userdata
grpc_core::RefCountedPtr< grpc_channel_security_connector > create_security_connector(grpc_core::RefCountedPtr< grpc_call_credentials > call_creds, const char *target, const grpc_channel_args *args, grpc_channel_args **new_args) override
grpc_ssl_server_config config_
grpc_ssl_server_credentials(const grpc_ssl_server_credentials_options &options)
return memset(p, 0, total)
tsi_ssl_pem_key_cert_pair * pem_key_cert_pair
static char * pem_root_certs
static grpc_core::UniqueTypeName Type()
grpc_channel_credentials * grpc_ssl_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const grpc_ssl_verify_peer_options *verify_options, void *reserved)
grpc_ssl_server_credentials_options * grpc_ssl_server_credentials_create_options_using_config_fetcher(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config_callback cb, void *user_data)
GPRAPI void gpr_free(void *ptr)
grpc_ssl_server_certificate_config_fetcher * certificate_config_fetcher
void set_min_tls_version(grpc_tls_version min_tls_version)
grpc_ssl_server_certificate_config_fetcher certificate_config_fetcher_
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, void *reserved)
grpc_arg grpc_channel_arg_string_create(char *name, char *value)
grpc_core::RefCountedPtr< grpc_server_security_connector > create_security_connector(const grpc_channel_args *) override
void grpc_ssl_server_credentials_options_destroy(grpc_ssl_server_credentials_options *o)
grpc_tls_version min_tls_version
GPRAPI void * gpr_zalloc(size_t size)
size_t num_key_cert_pairs
void build_config(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const grpc_ssl_verify_peer_options *verify_options)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
tsi_ssl_pem_key_cert_pair * pem_key_cert_pairs
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG
grpc_ssl_server_certificate_config * certificate_config
grpc_core::RefCountedPtr< grpc_server_security_connector > grpc_ssl_server_security_connector_create(grpc_core::RefCountedPtr< grpc_server_credentials > server_credentials)
void set_min_tls_version(grpc_tls_version min_tls_version)
void grpc_tsi_ssl_pem_key_cert_pairs_destroy(tsi_ssl_pem_key_cert_pair *kp, size_t num_key_cert_pairs)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
void call_creds(grpc_end2end_test_config config)
~grpc_ssl_server_credentials() override
void grpc_ssl_server_certificate_config_destroy(grpc_ssl_server_certificate_config *config)
grpc_ssl_client_certificate_request_type
void set_max_tls_version(grpc_tls_version max_tls_version)
void build_config(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request)
grpc_ssl_client_certificate_request_type client_certificate_request
tsi_ssl_pem_key_cert_pair * grpc_convert_grpc_to_tsi_cert_pairs(const grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs)
grpc_tls_version max_tls_version
#define GRPC_ARG_HTTP2_SCHEME
grpc_server_credentials * grpc_ssl_server_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void *reserved)
grpc_core::RefCountedPtr< grpc_channel_security_connector > grpc_ssl_channel_security_connector_create(grpc_core::RefCountedPtr< grpc_channel_credentials > channel_creds, grpc_core::RefCountedPtr< grpc_call_credentials > request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, tsi_ssl_session_cache *ssl_session_cache)
struct tsi_ssl_session_cache tsi_ssl_session_cache
grpc_ssl_certificate_config_reload_status(* grpc_ssl_server_certificate_config_callback)(void *user_data, grpc_ssl_server_certificate_config **config)
grpc_tls_version min_tls_version
@ GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE
void(* verify_peer_destruct)(void *userdata)
grpc_channel_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const verify_peer_options *verify_options, void *reserved)
verify_peer_options verify_options
GPRAPI char * gpr_strdup(const char *src)
@ GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY
~grpc_ssl_credentials() override
void set_max_tls_version(grpc_tls_version max_tls_version)
grpc_server_credentials * grpc_ssl_server_credentials_create_with_options(grpc_ssl_server_credentials_options *options)
#define GRPC_SSL_SESSION_CACHE_ARG
grpc_tls_version max_tls_version
grpc_ssl_credentials(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const grpc_ssl_verify_peer_options *verify_options)
grpc_ssl_client_certificate_request_type client_certificate_request
grpc_ssl_server_credentials_options * grpc_ssl_server_credentials_create_options_using_config(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config *config)
OPENSSL_EXPORT pem_password_cb * cb
grpc_channel_args * grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add)
RefCountedPtr< grpc_channel_credentials > Ref() GRPC_MUST_USE_RESULT
#define GRPC_API_TRACE(fmt, nargs, args)
grpc_ssl_server_certificate_config_callback cb
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:20