grpc_tls_credentials_options.h
Go to the documentation of this file.
1 //
2 //
3 // Copyright 2018 gRPC authors.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 //
18 
19 // Generated by tools/codegen/core/gen_grpc_tls_credentials_options.py
20 
21 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
22 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
23 
25 
26 #include "absl/container/inlined_vector.h"
27 
28 #include <grpc/grpc_security.h>
29 
35 
36 // Contains configurable options specified by callers to configure their certain
37 // security features supported in TLS.
38 // TODO(ZhenLian): consider making this not ref-counted.
40  : public grpc_core::RefCounted<grpc_tls_credentials_options> {
41  public:
42  ~grpc_tls_credentials_options() override = default;
43 
44  // Getters for member fields.
46  bool verify_server_cert() const { return verify_server_cert_; }
50  return certificate_verifier_.get();
51  }
52  bool check_call_host() const { return check_call_host_; }
53  // Returns the distributor from certificate_provider_ if it is set, nullptr otherwise.
55  if (certificate_provider_ != nullptr) { return certificate_provider_->distributor().get(); }
56  return nullptr;
57  }
58  bool watch_root_cert() const { return watch_root_cert_; }
59  const std::string& root_cert_name() const { return root_cert_name_; }
60  bool watch_identity_pair() const { return watch_identity_pair_; }
63  const std::string& crl_directory() const { return crl_directory_; }
64 
65  // Setters for member fields.
73  // If need to watch the updates of root certificates with name |root_cert_name|. The default value is false. If used in tls_credentials, it should always be set to true unless the root certificates are not needed.
75  // Sets the name of root certificates being watched, if |set_watch_root_cert| is called. If not set, an empty string will be used as the name.
77  // If need to watch the updates of identity certificates with name |identity_cert_name|. The default value is false. If used in tls_credentials, it should always be set to true unless the identity key-cert pairs are not needed.
79  // Sets the name of identity key-cert pairs being watched, if |set_watch_identity_pair| is called. If not set, an empty string will be used as the name.
82  // gRPC will enforce CRLs on all handshakes from all hashed CRL files inside of the crl_directory. If not set, an empty string will be used, which will not enable CRL checking. Only supported for OpenSSL version > 1.1.
84 
85  bool operator==(const grpc_tls_credentials_options& other) const {
86  return cert_request_type_ == other.cert_request_type_ &&
99  }
100 
101  private:
103  bool verify_server_cert_ = true;
107  bool check_call_host_ = true;
109  bool watch_root_cert_ = false;
111  bool watch_identity_pair_ = false;
115 };
116 
117 #endif // GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
grpc_tls_credentials_options::set_root_cert_name
void set_root_cert_name(std::string root_cert_name)
Definition: grpc_tls_credentials_options.h:76
grpc_tls_credentials_options::max_tls_version_
grpc_tls_version max_tls_version_
Definition: grpc_tls_credentials_options.h:105
grpc_tls_credentials_options::set_min_tls_version
void set_min_tls_version(grpc_tls_version min_tls_version)
Definition: grpc_tls_credentials_options.h:68
grpc_tls_certificate_distributor.h
grpc_core::RefCountedPtr::get
T * get() const
Definition: ref_counted_ptr.h:146
grpc_tls_credentials_options::set_cert_request_type
void set_cert_request_type(grpc_ssl_client_certificate_request_type cert_request_type)
Definition: grpc_tls_credentials_options.h:66
grpc_tls_credentials_options::crl_directory_
std::string crl_directory_
Definition: grpc_tls_credentials_options.h:114
grpc_tls_credentials_options::set_certificate_verifier
void set_certificate_verifier(grpc_core::RefCountedPtr< grpc_tls_certificate_verifier > certificate_verifier)
Definition: grpc_tls_credentials_options.h:70
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
TLS1_3
@ TLS1_3
Definition: grpc_security_constants.h:146
grpc_tls_credentials_options::max_tls_version
grpc_tls_version max_tls_version() const
Definition: grpc_tls_credentials_options.h:48
grpc_tls_certificate_distributor
Definition: grpc_tls_certificate_distributor.h:43
grpc_tls_credentials_options::check_call_host_
bool check_call_host_
Definition: grpc_tls_credentials_options.h:107
grpc_security.h
grpc_tls_credentials_options::cert_request_type
grpc_ssl_client_certificate_request_type cert_request_type() const
Definition: grpc_tls_credentials_options.h:45
grpc_tls_credentials_options::set_certificate_provider
void set_certificate_provider(grpc_core::RefCountedPtr< grpc_tls_certificate_provider > certificate_provider)
Definition: grpc_tls_credentials_options.h:72
grpc_tls_credentials_options::crl_directory
const std::string & crl_directory() const
Definition: grpc_tls_credentials_options.h:63
grpc_tls_credentials_options::set_max_tls_version
void set_max_tls_version(grpc_tls_version max_tls_version)
Definition: grpc_tls_credentials_options.h:69
grpc_tls_credentials_options::verify_server_cert
bool verify_server_cert() const
Definition: grpc_tls_credentials_options.h:46
grpc_tls_credentials_options::certificate_verifier_
grpc_core::RefCountedPtr< grpc_tls_certificate_verifier > certificate_verifier_
Definition: grpc_tls_credentials_options.h:106
grpc_tls_credentials_options::check_call_host
bool check_call_host() const
Definition: grpc_tls_credentials_options.h:52
grpc_tls_credentials_options::cert_request_type_
grpc_ssl_client_certificate_request_type cert_request_type_
Definition: grpc_tls_credentials_options.h:102
grpc_tls_credentials_options::set_tls_session_key_log_file_path
void set_tls_session_key_log_file_path(std::string tls_session_key_log_file_path)
Definition: grpc_tls_credentials_options.h:81
grpc_tls_certificate_provider.h
grpc_tls_certificate_verifier.h
grpc_core::RefCountedPtr< grpc_tls_certificate_verifier >
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
grpc_tls_credentials_options::tls_session_key_log_file_path_
std::string tls_session_key_log_file_path_
Definition: grpc_tls_credentials_options.h:113
grpc_tls_credentials_options::set_watch_identity_pair
void set_watch_identity_pair(bool watch_identity_pair)
Definition: grpc_tls_credentials_options.h:78
grpc_tls_credentials_options::root_cert_name
const std::string & root_cert_name() const
Definition: grpc_tls_credentials_options.h:59
grpc_ssl_client_certificate_request_type
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:79
grpc_tls_version
grpc_tls_version
Definition: grpc_security_constants.h:146
grpc_tls_credentials_options::tls_session_key_log_file_path
const std::string & tls_session_key_log_file_path() const
Definition: grpc_tls_credentials_options.h:62
grpc_tls_certificate_provider::Compare
int Compare(const grpc_tls_certificate_provider *other) const
Definition: grpc_tls_certificate_provider.h:69
grpc_tls_credentials_options::set_watch_root_cert
void set_watch_root_cert(bool watch_root_cert)
Definition: grpc_tls_credentials_options.h:74
grpc_tls_credentials_options::watch_identity_pair
bool watch_identity_pair() const
Definition: grpc_tls_credentials_options.h:60
grpc_core::RefCounted
Definition: ref_counted.h:280
grpc_tls_credentials_options::watch_root_cert_
bool watch_root_cert_
Definition: grpc_tls_credentials_options.h:109
grpc_tls_credentials_options::root_cert_name_
std::string root_cert_name_
Definition: grpc_tls_credentials_options.h:110
grpc_tls_credentials_options::watch_root_cert
bool watch_root_cert() const
Definition: grpc_tls_credentials_options.h:58
grpc_tls_credentials_options::min_tls_version_
grpc_tls_version min_tls_version_
Definition: grpc_tls_credentials_options.h:104
grpc_tls_credentials_options::min_tls_version
grpc_tls_version min_tls_version() const
Definition: grpc_tls_credentials_options.h:47
grpc_tls_credentials_options::certificate_provider_
grpc_core::RefCountedPtr< grpc_tls_certificate_provider > certificate_provider_
Definition: grpc_tls_credentials_options.h:108
grpc_tls_certificate_provider::distributor
virtual grpc_core::RefCountedPtr< grpc_tls_certificate_distributor > distributor() const =0
TLS1_2
@ TLS1_2
Definition: grpc_security_constants.h:146
ref_counted.h
grpc_tls_credentials_options::operator==
bool operator==(const grpc_tls_credentials_options &other) const
Definition: grpc_tls_credentials_options.h:85
GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE
@ GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE
Definition: grpc_security_constants.h:84
grpc_tls_credentials_options
Definition: grpc_tls_credentials_options.h:39
grpc_tls_certificate_verifier::Compare
int Compare(const grpc_tls_certificate_verifier *other) const
Definition: grpc_tls_certificate_verifier.h:58
grpc_tls_credentials_options::set_identity_cert_name
void set_identity_cert_name(std::string identity_cert_name)
Definition: grpc_tls_credentials_options.h:80
grpc_tls_certificate_verifier
Definition: grpc_tls_certificate_verifier.h:38
grpc_tls_credentials_options::watch_identity_pair_
bool watch_identity_pair_
Definition: grpc_tls_credentials_options.h:111
grpc_tls_credentials_options::~grpc_tls_credentials_options
~grpc_tls_credentials_options() override=default
grpc_tls_credentials_options::verify_server_cert_
bool verify_server_cert_
Definition: grpc_tls_credentials_options.h:103
grpc_tls_credentials_options::certificate_distributor
grpc_tls_certificate_distributor * certificate_distributor()
Definition: grpc_tls_credentials_options.h:54
grpc_tls_credentials_options::set_check_call_host
void set_check_call_host(bool check_call_host)
Definition: grpc_tls_credentials_options.h:71
grpc_tls_credentials_options::certificate_verifier
grpc_tls_certificate_verifier * certificate_verifier()
Definition: grpc_tls_credentials_options.h:49
grpc_tls_credentials_options::set_crl_directory
void set_crl_directory(std::string crl_directory)
Definition: grpc_tls_credentials_options.h:83
ssl_utils.h
grpc_tls_credentials_options::set_verify_server_cert
void set_verify_server_cert(bool verify_server_cert)
Definition: grpc_tls_credentials_options.h:67
grpc_tls_credentials_options::identity_cert_name
const std::string & identity_cert_name() const
Definition: grpc_tls_credentials_options.h:61
grpc_tls_credentials_options::identity_cert_name_
std::string identity_cert_name_
Definition: grpc_tls_credentials_options.h:112
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:48