4
* Copyright 2017 DataStax, Inc.
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
10
* http://www.apache.org/licenses/LICENSE-2.0
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
19
namespace Cassandra\SSLOptions;
22
* SSLOptions builder allows fluent configuration of ssl options.
24
* @see \Cassandra::ssl()
25
* @see \Cluster\Builder::withSSL()
32
* @return \SSLOptions ssl options configured accordingly.
34
public function build() { }
37
* Adds a trusted certificate. This is used to verify node's identity.
39
* @param string $path ,... one or more paths to files containing a PEM formatted certificate.
41
* @throws \Exception\InvalidArgumentException
43
* @return Builder self
45
public function withTrustedCerts($path) { }
48
* Disable certificate verification.
52
* @throws \Exception\InvalidArgumentException
54
* @return Builder self
56
public function withVerifyFlags($flags) { }
59
* Set client-side certificate chain.
61
* This is used to authenticate the client on the server-side. This should contain the entire Certificate
62
* chain starting with the certificate itself.
64
* @param string $path path to a file containing a PEM formatted certificate.
66
* @throws \Exception\InvalidArgumentException
68
* @return Builder self
70
public function withClientCert($path) { }
73
* Set client-side private key. This is used to authenticate the client on
76
* @param string $path Path to the private key file
77
* @param string|null $passphrase Passphrase for the private key, if any
79
* @throws \Exception\InvalidArgumentException
81
* @return Builder self
83
public function withPrivateKey($path, $passphrase) { }