services:
- rgw
with_legacy: true
+# TLS certs options
+- name: rgw_crypt_vault_ssl_cacert
+ type: str
+ level: advanced
+ desc: Path for custom ca certificate for accessing vault server
+ services:
+ - rgw
+ with_legacy: true
- name: rgw_crypt_kmip_addr
type: str
level: advanced
curl_easy_setopt(easy_handle, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(easy_handle, CURLOPT_SSL_VERIFYHOST, 0L);
dout(20) << "ssl verification is set to off" << dendl;
+ } else if (!ca_path.empty()) {
+ curl_easy_setopt(easy_handle, CURLOPT_CAINFO, ca_path.c_str());
+ dout(20) << "using custom ca cert "<< ca_path.c_str() << " for ssl" << dendl;
}
curl_easy_setopt(easy_handle, CURLOPT_PRIVATE, (void *)req_data);
curl_easy_setopt(easy_handle, CURLOPT_TIMEOUT, req_timeout);
bool verify_ssl; // Do not validate self signed certificates, default to false
+ string ca_path;
+
std::atomic<unsigned> stopped { 0 };
void *get_io_user_info() override {
return user_info;
}
+
+ void set_ca_path(const string& _ca_path) {
+ ca_path = _ca_path;
+ }
};
secret_req.set_verify_ssl(cct->_conf->rgw_crypt_vault_verify_ssl);
+ if (!cct->_conf->rgw_crypt_vault_ssl_cacert.empty()) {
+ secret_req.set_ca_path(cct->_conf->rgw_crypt_vault_ssl_cacert);
+ }
+
res = secret_req.process(null_yield);
if (res < 0) {
ldout(cct, 0) << "ERROR: Request to Vault failed with error " << res << dendl;