Skip to content

Commit 1654d87

Browse files
committed
[DOCS] improve encrypted communication example in java REST low-level client docs (#26705)
Include SSLContext creation and add the missing "https" scheme to the host creation. Relates to #26534 Closes #26670
1 parent 99ae5fa commit 1654d87

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

client/rest/src/test/java/org/elasticsearch/client/documentation/RestClientDocumentation.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import org.apache.http.impl.nio.reactor.IOReactorConfig;
3434
import org.apache.http.message.BasicHeader;
3535
import org.apache.http.nio.entity.NStringEntity;
36+
import org.apache.http.ssl.SSLContextBuilder;
37+
import org.apache.http.ssl.SSLContexts;
3638
import org.apache.http.util.EntityUtils;
3739
import org.elasticsearch.client.HttpAsyncResponseConsumerFactory;
3840
import org.elasticsearch.client.Response;
@@ -47,9 +49,6 @@
4749
import java.nio.file.Path;
4850
import java.nio.file.Paths;
4951
import java.security.KeyStore;
50-
import java.security.KeyStoreException;
51-
import java.security.NoSuchAlgorithmException;
52-
import java.security.cert.CertificateException;
5352
import java.util.Collections;
5453
import java.util.Map;
5554
import java.util.concurrent.CountDownLatch;
@@ -258,7 +257,7 @@ public void onFailure(Exception exception) {
258257
}
259258

260259
@SuppressWarnings("unused")
261-
public void testCommonConfiguration() throws IOException, KeyStoreException, CertificateException, NoSuchAlgorithmException {
260+
public void testCommonConfiguration() throws Exception {
262261
{
263262
//tag::rest-client-config-timeouts
264263
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200))
@@ -318,13 +317,14 @@ public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpCli
318317
{
319318
Path keyStorePath = Paths.get("");
320319
String keyStorePass = "";
321-
final SSLContext sslContext = null;
322320
//tag::rest-client-config-encrypted-communication
323-
KeyStore keystore = KeyStore.getInstance("jks");
321+
KeyStore truststore = KeyStore.getInstance("jks");
324322
try (InputStream is = Files.newInputStream(keyStorePath)) {
325-
keystore.load(is, keyStorePass.toCharArray());
323+
truststore.load(is, keyStorePass.toCharArray());
326324
}
327-
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200))
325+
SSLContextBuilder sslBuilder = SSLContexts.custom().loadTrustMaterial(truststore, null);
326+
final SSLContext sslContext = sslBuilder.build();
327+
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "https"))
328328
.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
329329
@Override
330330
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {

0 commit comments

Comments
 (0)