Go to the documentation of this file.
22 #include "absl/container/inlined_vector.h"
45 #define CA_CERT_PATH "src/core/tsi/test_creds/ca.pem"
46 #define SERVER_CERT_PATH "src/core/tsi/test_creds/server1.pem"
47 #define SERVER_KEY_PATH "src/core/tsi/test_creds/server1.key"
79 switch (tls_version) {
80 case SecurityPrimitives::TlsVersion::V_12: {
84 case SecurityPrimitives::TlsVersion::V_13: {
94 switch (provider_type) {
95 case SecurityPrimitives::ProviderType::STATIC_PROVIDER: {
111 identity_cert.c_str());
113 root_cert.c_str(), client_pairs);
116 identity_cert.c_str());
118 root_cert.c_str(), server_pairs);
124 case SecurityPrimitives::ProviderType::FILE_PROVIDER: {
137 switch (verifier_type) {
138 case SecurityPrimitives::VerifierType::EXTERNAL_SYNC_VERIFIER: {
139 auto* client_sync_verifier =
142 client_sync_verifier->base());
143 auto* server_sync_verifier =
146 server_sync_verifier->base());
150 case SecurityPrimitives::VerifierType::EXTERNAL_ASYNC_VERIFIER: {
151 auto* client_async_verifier =
154 client_async_verifier->base());
155 auto* server_async_verifier =
158 server_async_verifier->base());
162 case SecurityPrimitives::VerifierType::HOSTNAME_VERIFIER: {
166 auto* server_async_verifier =
169 server_async_verifier->base());
184 SecurityPrimitives::ProviderType::STATIC_PROVIDER);
186 ffd, SecurityPrimitives::VerifierType::EXTERNAL_SYNC_VERIFIER);
187 f.fixture_data = ffd;
201 SecurityPrimitives::ProviderType::STATIC_PROVIDER);
203 ffd, SecurityPrimitives::VerifierType::EXTERNAL_ASYNC_VERIFIER);
204 f.fixture_data = ffd;
220 SecurityPrimitives::VerifierType::HOSTNAME_VERIFIER);
221 f.fixture_data = ffd;
237 ffd, SecurityPrimitives::VerifierType::EXTERNAL_ASYNC_VERIFIER);
238 f.fixture_data = ffd;
335 {
const_cast<char*
>(
"foo.test.google.fr")}};
344 if (server_args ==
nullptr)
return 0;
399 int main(
int argc,
char** argv) {
int main(int argc, char **argv)
GPRAPI void grpc_slice_unref(grpc_slice s)
GRPCAPI void grpc_tls_credentials_options_set_certificate_provider(grpc_tls_credentials_options *options, grpc_tls_certificate_provider *provider)
grpc_tls_certificate_provider * client_provider
#define FEATURE_MASK_SUPPORTS_AUTHORITY_HEADER
GRPCAPI grpc_tls_identity_pairs * grpc_tls_identity_pairs_create()
static const uint32_t kH2TLSFeatureMask
grpc_error_handle grpc_load_file(const char *filename, int add_null_terminator, grpc_slice *output)
@ GRPC_STATUS_UNAUTHENTICATED
return memset(p, 0, total)
void grpc_end2end_tests_pre_init(void)
enum SecurityPrimitives::TlsVersion tls_version
static grpc_end2end_test_fixture chttp2_create_fixture_hostname_verifier_cert_watcher(const grpc_channel_args *, const grpc_channel_args *)
void grpc_tls_credentials_options_set_certificate_verifier(grpc_tls_credentials_options *options, grpc_tls_certificate_verifier *verifier)
absl::string_view StringViewFromSlice(const grpc_slice &slice)
void(* grpc_process_auth_metadata_done_cb)(void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, const grpc_metadata *response_md, size_t num_response_md, grpc_status_code status, const char *error_details)
static grpc_server_credentials * create_tls_server_credentials(fullstack_secure_fixture_data *ffd)
GRPCAPI void grpc_tls_certificate_provider_release(grpc_tls_certificate_provider *provider)
#define FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS
GRPCAPI grpc_server * grpc_server_create(const grpc_channel_args *args, void *reserved)
GRPCAPI void grpc_tls_credentials_options_set_check_call_host(grpc_tls_credentials_options *options, int check_call_host)
GRPCAPI void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq, void *reserved)
GRPCAPI void grpc_tls_identity_pairs_add_pair(grpc_tls_identity_pairs *pairs, const char *private_key, const char *cert_chain)
static void SetCertificateVerifier(fullstack_secure_fixture_data *ffd, SecurityPrimitives::VerifierType verifier_type)
grpc_channel_credentials * grpc_tls_credentials_create(grpc_tls_credentials_options *options)
#define GRPC_LOG_IF_ERROR(what, error)
GRPCAPI void grpc_tls_credentials_options_watch_root_certs(grpc_tls_credentials_options *options)
static void chttp2_init_client(grpc_end2end_test_fixture *f, const grpc_channel_args *client_args)
static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, const grpc_channel_args *client_args, grpc_channel_credentials *creds)
GRPCAPI void grpc_server_credentials_set_auth_metadata_processor(grpc_server_credentials *creds, grpc_auth_metadata_processor processor)
enum SecurityPrimitives::ProviderType provider_type
#define FAIL_AUTH_CHECK_SERVER_ARG_NAME
grpc_server_credentials * grpc_tls_server_credentials_create(grpc_tls_credentials_options *options)
@ EXTERNAL_ASYNC_VERIFIER
static grpc_channel_credentials * create_tls_channel_credentials(fullstack_secure_fixture_data *ffd)
#define FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION
static grpc_end2end_test_fixture chttp2_create_fixture_simple_fullstack(const grpc_channel_args *, const grpc_channel_args *)
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG
GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)
GRPCAPI int grpc_server_add_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
grpc_tls_certificate_verifier * client_verifier
struct fullstack_secure_fixture_data fullstack_secure_fixture_data
std::string JoinHostPort(absl::string_view host, int port)
void grpc_channel_args_destroy(grpc_channel_args *a)
static grpc_end2end_test_fixture chttp2_create_fixture_async_verifier_cert_watcher(const grpc_channel_args *, const grpc_channel_args *)
void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f)
GRPCAPI void grpc_server_destroy(grpc_server *server)
int grpc_pick_unused_port_or_die(void)
static void chttp2_init_server_secure_fullstack(grpc_end2end_test_fixture *f, const grpc_channel_args *server_args, grpc_server_credentials *server_creds)
#define GPR_GLOBAL_CONFIG_SET(name, value)
GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials *creds)
grpc_tls_certificate_verifier * server_verifier
void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config)
grpc_tls_certificate_provider * server_provider
~fullstack_secure_fixture_data()
grpc_tls_version tls_version
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_host_name_create()
GRPCAPI grpc_channel * grpc_channel_create(const char *target, grpc_channel_credentials *creds, const grpc_channel_args *args)
GRPCAPI void grpc_tls_credentials_options_set_cert_request_type(grpc_tls_credentials_options *options, grpc_ssl_client_certificate_request_type type)
GRPCAPI grpc_tls_credentials_options * grpc_tls_credentials_options_create(void)
GRPCAPI void grpc_tls_credentials_options_set_verify_server_cert(grpc_tls_credentials_options *options, int verify_server_cert)
enum SecurityPrimitives::VerifierType verifier_type
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_external_create(grpc_tls_certificate_verifier_external *external_verifier)
static int fail_server_auth_check(const grpc_channel_args *server_args)
static void chttp2_init_server(grpc_end2end_test_fixture *f, const grpc_channel_args *server_args)
GRPCAPI void grpc_tls_credentials_options_watch_identity_key_cert_pairs(grpc_tls_credentials_options *options)
void grpc_tls_certificate_verifier_release(grpc_tls_certificate_verifier *verifier)
static grpc_end2end_test_fixture chttp2_create_fixture_async_verifier(const grpc_channel_args *, const grpc_channel_args *)
static grpc_end2end_test_config configs[]
static void SetCertificateProvider(fullstack_secure_fixture_data *ffd, SecurityPrimitives::ProviderType provider_type)
static void SetTlsVersion(fullstack_secure_fixture_data *ffd, SecurityPrimitives::TlsVersion tls_version)
@ GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY
GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_next(void *reserved)
GRPCAPI grpc_tls_certificate_provider * grpc_tls_certificate_provider_file_watcher_create(const char *private_key_path, const char *identity_certificate_path, const char *root_cert_path, unsigned int refresh_interval_sec)
GRPCAPI void grpc_init(void)
GRPCAPI void grpc_server_start(grpc_server *server)
absl::InlinedVector< grpc_core::Thread, 1 > ThreadList
static void process_auth_failure(void *state, grpc_auth_context *, const grpc_metadata *, size_t, grpc_process_auth_metadata_done_cb cb, void *user_data)
GRPCAPI grpc_tls_certificate_provider * grpc_tls_certificate_provider_static_data_create(const char *root_certificate, grpc_tls_identity_pairs *pem_key_cert_pairs)
GRPCAPI void grpc_shutdown(void)
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)
#define FEATURE_MASK_SUPPORTS_CLIENT_CHANNEL
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:10