Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
security_options.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/*
3
* Copyright 2020-Present Couchbase, Inc.
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
#pragma once
19
20
#include <
couchbase/tls_verify_mode.hxx
>
21
22
#include <optional>
23
#include <string>
24
25
namespace
couchbase
26
{
27
class
security_options
28
{
29
public
:
30
auto
enabled
(
bool
enabled
) ->
security_options
&
31
{
32
enabled_ =
enabled
;
33
return
*
this
;
34
}
35
36
auto
tls_verify
(
tls_verify_mode
mode) ->
security_options
&
37
{
38
tls_verify_ = mode;
39
return
*
this
;
40
}
41
42
auto
trust_certificate
(std::string certificate_path) ->
security_options
&
43
{
44
trust_certificate_ = certificate_path;
45
return
*
this
;
46
}
47
48
auto
trust_certificate_value
(std::string certificate_value) ->
security_options
&
49
{
50
trust_certificate_value_ = certificate_value;
51
return
*
this
;
52
}
53
54
struct
built
{
55
bool
enabled
;
56
tls_verify_mode
tls_verify
;
57
std::optional<std::string>
trust_certificate
;
58
std::optional<std::string>
trust_certificate_value
;
59
bool
disable_mozilla_ca_certificates
;
60
bool
disable_deprecated_protocols
;
61
bool
disable_tls_v1_2
;
62
};
63
64
[[nodiscard]]
auto
build
() const ->
built
65
{
66
return
{
67
enabled_,
68
tls_verify_,
69
trust_certificate_,
70
trust_certificate_value_,
71
disable_mozilla_ca_certificates_,
72
disable_deprecated_protocols,
73
disable_tls_v1_2,
74
};
75
}
76
77
private
:
78
bool
enabled_{
true
};
79
tls_verify_mode
tls_verify_{
tls_verify_mode::peer
};
80
std::optional<std::string> trust_certificate_{};
81
std::optional<std::string> trust_certificate_value_{};
82
bool
disable_mozilla_ca_certificates_{
false
};
83
bool
disable_deprecated_protocols{
true
};
84
bool
disable_tls_v1_2{
false
};
85
};
86
}
// namespace couchbase
couchbase::security_options
Definition
security_options.hxx:28
couchbase::security_options::trust_certificate
auto trust_certificate(std::string certificate_path) -> security_options &
Definition
security_options.hxx:42
couchbase::security_options::tls_verify
auto tls_verify(tls_verify_mode mode) -> security_options &
Definition
security_options.hxx:36
couchbase::security_options::trust_certificate_value
auto trust_certificate_value(std::string certificate_value) -> security_options &
Definition
security_options.hxx:48
couchbase::security_options::build
auto build() const -> built
Definition
security_options.hxx:64
couchbase::security_options::enabled
auto enabled(bool enabled) -> security_options &
Definition
security_options.hxx:30
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::tls_verify_mode
tls_verify_mode
Definition
tls_verify_mode.hxx:22
couchbase::tls_verify_mode::peer
@ peer
Definition
tls_verify_mode.hxx:24
couchbase::security_options::built
Definition
security_options.hxx:54
couchbase::security_options::built::disable_deprecated_protocols
bool disable_deprecated_protocols
Definition
security_options.hxx:60
couchbase::security_options::built::trust_certificate_value
std::optional< std::string > trust_certificate_value
Definition
security_options.hxx:58
couchbase::security_options::built::disable_tls_v1_2
bool disable_tls_v1_2
Definition
security_options.hxx:61
couchbase::security_options::built::enabled
bool enabled
Definition
security_options.hxx:55
couchbase::security_options::built::disable_mozilla_ca_certificates
bool disable_mozilla_ca_certificates
Definition
security_options.hxx:59
couchbase::security_options::built::trust_certificate
std::optional< std::string > trust_certificate
Definition
security_options.hxx:57
couchbase::security_options::built::tls_verify
tls_verify_mode tls_verify
Definition
security_options.hxx:56
tls_verify_mode.hxx
couchbase
security_options.hxx
Generated by
1.17.0