Authenticate Elasticsearch from spring boot

Hi Team

I have setup open distro version 1.4 with LDAP authentication and authorization and it is working perfectly fine.
Kibana/logstash able to connect to my elasticsearch using ldap service account (which has assigned permissions).

I also have one spring boot app which i need to connect to my elasticsearch, I am using High level rest client for this and following this link
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_encrypted_communication.html

I want to implement authentication from my spring boot app using LDAP user.

This is my code from connection.

final CredentialsProvider provider = new BasicCredentialsProvider();
            provider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(ldapSecurityPrincipal, ldapPrincipalPassword));
            Path caCertificatePath = Paths.get("/path/truststore.p12");
            KeyStore truststore = KeyStore.getInstance("pkcs12");
            try (InputStream is = Files.newInputStream(caCertificatePath)) {
                truststore.load(is, "password".toCharArray());
            }
            SSLContextBuilder sslContextBuilder = SSLContexts.custom()
                    .loadTrustMaterial(truststore, null);
            final SSLContext sslContext = sslContextBuilder.build();
            return new RestHighLevelClient(RestClient.builder(
                new HttpHost(config.getHostname(), config.getPort(), config.getSchemeName())).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                @Override
                public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                    httpAsyncClientBuilder.setDefaultCredentialsProvider(provider);
                    httpAsyncClientBuilder.setSSLContext(sslContext);
                    return httpAsyncClientBuilder;
                }
            }));

Looks like ssl handshake is happening with my elastic node but it is not authenticating my LDAP user.

org.elasticsearch.ElasticsearchStatusException: Unable to parse response body
at > org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:2030) ~[elasticsearch-rest-high-level-client]

Caused by: org.elasticsearch.client.ResponseException: method [POST], host [https://hostname:9200], URI [/api/myendpoint*/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&search_type=query_then_fetch&batched_reduce_size=512], status line [HTTP/1.1 401 Unauthorized]
Can someone please help here?
Thanks