19 #ifndef GRPCPP_SECURITY_TLS_CREDENTIALS_OPTIONS_H
20 #define GRPCPP_SECURITY_TLS_CREDENTIALS_OPTIONS_H
40 namespace experimental {
54 return pem_key_cert_pair_list_;
68 std::vector<PemKeyCertPair> pem_key_cert_pair_list_;
108 const std::shared_ptr<TlsKeyMaterialsConfig>& key_materials_config);
136 credential_reload_interface);
140 if (credential_reload_interface_ ==
nullptr) {
142 if (arg !=
nullptr) {
145 "the interface of the credential reload config is nullptr");
149 return credential_reload_interface_->Schedule(arg);
153 if (credential_reload_interface_ ==
nullptr) {
155 if (arg !=
nullptr) {
158 "the interface of the credential reload config is nullptr");
162 credential_reload_interface_->Cancel(arg);
170 std::shared_ptr<TlsCredentialReloadInterface> credential_reload_interface_;
239 std::shared_ptr<TlsServerAuthorizationCheckInterface>
240 server_authorization_check_interface);
244 if (server_authorization_check_interface_ ==
nullptr) {
246 if (arg !=
nullptr) {
249 "the interface of the server authorization check config is "
254 return server_authorization_check_interface_->Schedule(arg);
258 if (server_authorization_check_interface_ ==
nullptr) {
260 if (arg !=
nullptr) {
263 "the interface of the server authorization check config is "
268 server_authorization_check_interface_->Cancel(arg);
278 std::shared_ptr<TlsServerAuthorizationCheckInterface>
279 server_authorization_check_interface_;
292 std::shared_ptr<TlsServerAuthorizationCheckConfig>
298 return cert_request_type_;
301 return key_materials_config_;
304 return credential_reload_config_;
306 std::shared_ptr<TlsServerAuthorizationCheckConfig>
308 return server_authorization_check_config_;
311 return c_credentials_options_;
320 std::shared_ptr<TlsKeyMaterialsConfig> key_materials_config_;
321 std::shared_ptr<TlsCredentialReloadConfig> credential_reload_config_;
322 std::shared_ptr<TlsServerAuthorizationCheckConfig>
323 server_authorization_check_config_;
TLS credential reload arguments, wraps grpc_tls_credential_reload_arg.
Definition: tls_credentials_options.h:80
void * cb_user_data() const
Getters for member fields.
void add_pem_key_cert_pair(TlsKeyMaterialsConfig::PemKeyCertPair pem_key_cert_pair)
void OnCredentialReloadDoneCallback()
Calls the C arg's callback function.
TlsCredentialReloadArg(grpc_tls_credential_reload_arg *arg)
TlsCredentialReloadArg does not take ownership of the C arg that is passed to the constructor.
grpc::string error_details() const
grpc_ssl_certificate_config_reload_status status() const
~TlsCredentialReloadArg()
void set_status(grpc_ssl_certificate_config_reload_status status)
void set_key_materials_config(const std::shared_ptr< TlsKeyMaterialsConfig > &key_materials_config)
void set_error_details(const grpc::string &error_details)
void set_pem_root_certs(const grpc::string &pem_root_certs)
bool is_pem_key_cert_pair_list_empty() const
void set_cb_user_data(void *cb_user_data)
Setters for member fields.
TLS credential reloag config, wraps grpc_tls_credential_reload_config.
Definition: tls_credentials_options.h:133
~TlsCredentialReloadConfig()
int Schedule(TlsCredentialReloadArg *arg) const
Definition: tls_credentials_options.h:139
void Cancel(TlsCredentialReloadArg *arg) const
Definition: tls_credentials_options.h:152
grpc_tls_credential_reload_config * c_config() const
Returns a C struct for the credential reload config.
Definition: tls_credentials_options.h:166
TlsCredentialReloadConfig(std::shared_ptr< TlsCredentialReloadInterface > credential_reload_interface)
TLS credentials options, wrapper for grpc_tls_credentials_options.
Definition: tls_credentials_options.h:286
grpc_tls_credentials_options * c_credentials_options() const
Definition: tls_credentials_options.h:310
TlsCredentialsOptions(grpc_ssl_client_certificate_request_type cert_request_type, std::shared_ptr< TlsKeyMaterialsConfig > key_materials_config, std::shared_ptr< TlsCredentialReloadConfig > credential_reload_config, std::shared_ptr< TlsServerAuthorizationCheckConfig > server_authorization_check_config)
std::shared_ptr< TlsKeyMaterialsConfig > key_materials_config() const
Definition: tls_credentials_options.h:300
std::shared_ptr< TlsCredentialReloadConfig > credential_reload_config() const
Definition: tls_credentials_options.h:303
std::shared_ptr< TlsServerAuthorizationCheckConfig > server_authorization_check_config() const
Definition: tls_credentials_options.h:307
grpc_ssl_client_certificate_request_type cert_request_type() const
Getters for member fields.
Definition: tls_credentials_options.h:297
TLS key materials config, wrapper for grpc_tls_key_materials_config.
Definition: tls_credentials_options.h:44
void set_pem_root_certs(grpc::string pem_root_certs)
Setter for key materials that will be called by the user.
const std::vector< PemKeyCertPair > & pem_key_cert_pair_list() const
Definition: tls_credentials_options.h:53
void add_pem_key_cert_pair(const PemKeyCertPair &pem_key_cert_pair)
int version() const
Definition: tls_credentials_options.h:56
void set_key_materials(grpc::string pem_root_certs, std::vector< PemKeyCertPair > pem_key_cert_pair_list)
void set_version(int version)
Definition: tls_credentials_options.h:64
const grpc::string pem_root_certs() const
Getters for member fields.
Definition: tls_credentials_options.h:52
TLS server authorization check arguments, wraps grpc_tls_server_authorization_check_arg.
Definition: tls_credentials_options.h:182
void OnServerAuthorizationCheckDoneCallback()
Calls the C arg's callback function.
grpc::string peer_cert() const
void set_success(int success)
void set_cb_user_data(void *cb_user_data)
Setters for member fields.
TlsServerAuthorizationCheckArg(grpc_tls_server_authorization_check_arg *arg)
TlsServerAuthorizationCheckArg does not take ownership of the C arg passed to the constructor.
~TlsServerAuthorizationCheckArg()
grpc_status_code status() const
grpc::string target_name() const
void set_error_details(const grpc::string &error_details)
void * cb_user_data() const
Getters for member fields.
void set_target_name(const grpc::string &target_name)
void set_peer_cert(const grpc::string &peer_cert)
grpc::string error_details() const
void set_status(grpc_status_code status)
TLS server authorization check config, wraps grps_tls_server_authorization_check_config.
Definition: tls_credentials_options.h:236
TlsServerAuthorizationCheckConfig(std::shared_ptr< TlsServerAuthorizationCheckInterface > server_authorization_check_interface)
void Cancel(TlsServerAuthorizationCheckArg *arg) const
Definition: tls_credentials_options.h:257
grpc_tls_server_authorization_check_config * c_config() const
Returns C struct for the server authorization check config.
Definition: tls_credentials_options.h:272
int Schedule(TlsServerAuthorizationCheckArg *arg) const
Definition: tls_credentials_options.h:243
~TlsServerAuthorizationCheckConfig()
grpc_status_code
Definition: status.h:26
@ GRPC_STATUS_NOT_FOUND
Some requested entity (e.g., file or directory) was not found.
Definition: status.h:54
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:59
grpc_ssl_certificate_config_reload_status
Callback results for dynamically loading a SSL certificate config.
Definition: grpc_security_constants.h:53
@ GRPC_SSL_CERTIFICATE_CONFIG_RELOAD_FAIL
Definition: grpc_security_constants.h:56
#define GPR_ERROR
Definition: log.h:57
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
Log a message.
An Alarm posts the user-provided tag to its associated completion queue or invokes the user-provided ...
Definition: alarm_impl.h:33
std::string string
Definition: config.h:35
An interface that the application derives and uses to instantiate a TlsCredentialReloadConfig instanc...
Definition: tls_credentials_options.h:123
virtual int Schedule(TlsCredentialReloadArg *arg)=0
A callback that invokes the credential reload.
virtual void Cancel(TlsCredentialReloadArg *)
A callback that cancels a credential reload request.
Definition: tls_credentials_options.h:128
virtual ~TlsCredentialReloadInterface()=default
Definition: tls_credentials_options.h:46
grpc::string private_key
Definition: tls_credentials_options.h:47
grpc::string cert_chain
Definition: tls_credentials_options.h:48
An interface that the application derives and uses to instantiate a TlsServerAuthorizationCheckConfig...
Definition: tls_credentials_options.h:225
virtual ~TlsServerAuthorizationCheckInterface()=default
virtual void Cancel(TlsServerAuthorizationCheckArg *)
A callback that cancels a server authorization check request.
Definition: tls_credentials_options.h:230
virtual int Schedule(TlsServerAuthorizationCheckArg *arg)=0
A callback that invokes the server authorization check.
struct grpc_tls_server_authorization_check_config grpc_tls_server_authorization_check_config
Definition: tls_credentials_options.h:35
struct grpc_tls_credentials_options grpc_tls_credentials_options
Definition: tls_credentials_options.h:37
struct grpc_tls_server_authorization_check_arg grpc_tls_server_authorization_check_arg
Definition: tls_credentials_options.h:33
struct grpc_tls_credential_reload_config grpc_tls_credential_reload_config
Definition: tls_credentials_options.h:31
struct grpc_tls_credential_reload_arg grpc_tls_credential_reload_arg
Definition: tls_credentials_options.h:30