Go to the documentation of this file.
17 #ifndef GRPCPP_SECURITY_TLS_CERTIFICATE_VERIFIER_H
18 #define GRPCPP_SECURITY_TLS_CERTIFICATE_VERIFIER_H
50 namespace experimental {
65 std::vector<grpc::string_ref>
uri_names()
const;
66 std::vector<grpc::string_ref>
dns_names()
const;
68 std::vector<grpc::string_ref>
ip_names()
const;
142 template <
typename Subclass,
typename...
Args>
146 auto* external_verifier =
new Subclass(std::forward<Args>(
args)...);
147 return std::make_shared<CertificateVerifier>(
149 external_verifier->base_));
202 char** sync_error_details);
213 std::map<grpc_tls_custom_verification_check_request*, AsyncRequestState>
238 #endif // GRPCPP_SECURITY_TLS_CERTIFICATE_VERIFIER_H
grpc::string_ref target_name() const
static void AsyncCheckDone(grpc_tls_custom_verification_check_request *request, void *callback_arg, grpc_status_code status, const char *error_details)
std::map< grpc_tls_custom_verification_check_request *, std::function< void(grpc::Status)> > request_map_ ABSL_GUARDED_BY(mu_)
std::vector< grpc::string_ref > dns_names() const
ExternalCertificateVerifier()
grpc_tls_certificate_verifier * verifier_
grpc::string_ref peer_cert_full_chain() const
static int VerifyInCoreExternalVerifier(void *user_data, grpc_tls_custom_verification_check_request *request, grpc_tls_on_custom_verification_check_done_cb callback, void *callback_arg, grpc_status_code *sync_status, char **sync_error_details)
grpc_tls_custom_verification_check_request * c_request()
Instantiating this class ensures the proper initialization of gRPC.
grpc_tls_certificate_verifier_external * base_
grpc_tls_on_custom_verification_check_done_cb callback
void(* grpc_tls_on_custom_verification_check_done_cb)(grpc_tls_custom_verification_check_request *request, void *callback_arg, grpc_status_code status, const char *error_details)
grpc::string_ref common_name() const
std::vector< grpc::string_ref > email_names() const
grpc_tls_custom_verification_check_request * c_request_
std::map< grpc_tls_custom_verification_check_request *, AsyncRequestState > request_map_ ABSL_GUARDED_BY(mu_)
grpc_tls_certificate_verifier * c_verifier()
static std::shared_ptr< CertificateVerifier > Create(Args &&... args)
static void callback(void *arg, int status, int timeouts, struct hostent *host)
grpc::internal::Mutex mu_
AsyncRequestState(grpc_tls_on_custom_verification_check_done_cb cb, void *arg, grpc_tls_custom_verification_check_request *request)
static void DestructInCoreExternalVerifier(void *user_data)
HostNameCertificateVerifier()
virtual void Cancel(TlsCustomVerificationCheckRequest *request)=0
CertificateVerifier(grpc_tls_certificate_verifier *v)
bool Verify(TlsCustomVerificationCheckRequest *request, std::function< void(grpc::Status)> callback, grpc::Status *sync_status)
static void CancelInCoreExternalVerifier(void *user_data, grpc_tls_custom_verification_check_request *request)
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_external_create(grpc_tls_certificate_verifier_external *external_verifier)
TlsCustomVerificationCheckRequest cpp_request
grpc::internal::Mutex mu_
NoOpCertificateVerifier()
~TlsCustomVerificationCheckRequest()
virtual bool Verify(TlsCustomVerificationCheckRequest *request, std::function< void(grpc::Status)> callback, grpc::Status *sync_status)=0
std::vector< grpc::string_ref > ip_names() const
std::vector< grpc::string_ref > uri_names() const
static internal::GrpcLibraryInitializer g_gli_initializer
void Cancel(TlsCustomVerificationCheckRequest *request)
grpc::string_ref peer_cert() const
virtual ~ExternalCertificateVerifier()
OPENSSL_EXPORT pem_password_cb * cb
TlsCustomVerificationCheckRequest(grpc_tls_custom_verification_check_request *request)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:39