Skip to content

Commit 37d3ee4

Browse files
committed
[FIX] [BC] ssl_verification parameter for a connection is now only accepting a bool value. New parameters are added: ssl_ca, ssl_key, ssl_cert.
1 parent a5c4f1e commit 37d3ee4

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

src/DependencyInjection/Configuration.php

+13-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,19 @@ private function getConnectionsNode(): NodeDefinition
9595
->end()
9696
->scalarNode('ssl_verification')
9797
->defaultNull()
98-
->info('Set to true to enable SSL certificate verification and use the default CA bundle provided by operating system or provide the path to a CA bundle to enable verification using a custom certificate')
98+
->info('Set to true to enable SSL certificate verification')
99+
->end()
100+
->scalarNode('ssl_ca')
101+
->defaultNull()
102+
->info('The Certificate Authority (CA) bundle to use')
103+
->end()
104+
->scalarNode('ssl_key')
105+
->defaultNull()
106+
->info('SSL key to use')
107+
->end()
108+
->scalarNode('ssl_cert')
109+
->defaultNull()
110+
->info('SSL certificate to use')
99111
->end()
100112
->scalarNode('profiling')
101113
->defaultTrue()

src/Manager/ConnectionManager.php

+12
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,21 @@ public function getClient(): Client
8484
if (!$this->client) {
8585
$clientBuilder = ClientBuilder::create();
8686
$clientBuilder->setHosts($this->connectionSettings['hosts']);
87+
88+
// Configure SSL/TLS settings
8789
if (isset($this->connectionSettings['ssl_verification'])) {
8890
$clientBuilder->setSSLVerification($this->connectionSettings['ssl_verification']);
8991
}
92+
if (isset($this->connectionSettings['ssl_ca'])) {
93+
$clientBuilder->setCABundle($this->connectionSettings['ssl_ca']);
94+
}
95+
if (isset($this->connectionSettings['ssl_key'])) {
96+
$clientBuilder->setSSLKey($this->connectionSettings['ssl_key']);
97+
}
98+
if (isset($this->connectionSettings['ssl_cert'])) {
99+
$clientBuilder->setSSLCert($this->connectionSettings['ssl_cert']);
100+
}
101+
90102
if ($this->logger) {
91103
$clientBuilder->setLogger($this->logger);
92104
}

tests/Unit/DependencyInjection/ElasticsearchExtensionTest.php

+3
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ public function getData()
109109
'logging' => false,
110110
'bulk_batch_size' => 123,
111111
'ssl_verification' => null,
112+
'ssl_ca' => null,
113+
'ssl_key' => null,
114+
'ssl_cert' => null,
112115
],
113116
];
114117

0 commit comments

Comments
 (0)