SSL Error (bad handshake) with valid certificate | Elasticsearch & Python SSL Error (bad handshake) with valid certificate | Elasticsearch & Python elasticsearch elasticsearch

SSL Error (bad handshake) with valid certificate | Elasticsearch & Python


You need to install certificate first, and then use it in connection to Elasticsearch with Python

host = 'mydomain.com:9200'client = Elasticsearch(host, http_auth=('admin', 'pass'), scheme="https", use_ssl=True, ca_certs='C:/my_path/CertificateFile.cer.pem', port=443)try:    info = json.dumps(client.info(), indent=4)    print ("Elasticsearch client info():", info)except exceptions.ConnectionError as err:    print ("\nElasticsearch info() ERROR:", err)    print ("\nThe client host:", host, "is invalid or cluster is not running")    client = None

Response:

> Elasticsearch client info(): {>     "name": "my_name",>     "cluster_name": "my_cluster_name",>     "cluster_uuid": "fBRShbkSRy2vcfQJZsojGA",>     "version": {>         "number": "7.3.0",>         "build_flavor": "default",>         "build_type": "tar",>         "build_hash": "de777fa",>         "build_date": "2019-07-24T18:30:11.767338Z",>         "build_snapshot": false,>         "lucene_version": "8.1.0",>         "minimum_wire_compatibility_version": "6.8.0",>         "minimum_index_compatibility_version": "6.0.0-beta1">     },>     "tagline": "You Know, for Search" }

elasticsearch.yml:

xpack.security.enabled: truexpack.ml.enabled: falsexpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.keystore.path: elastic-certificates.p12xpack.security.transport.ssl.truststore.path: elastic-certificates.p12xpack.security.http.ssl.enabled: truexpack.security.http.ssl.keystore.path: elastic-certificates.p12xpack.security.http.ssl.truststore.path: elastic-certificates.p12