Error Message: SSL routines::sslv3 alert bad certificate
Last updated: August 10, 2026
Problem Statement
The following rpk cluster info command failed with the error "unable to request metadata: unable to dial: tls: failed to verify certificate:
x509: certificate signed by unknown authority".
Here is an example;
$ rpk cluster info -X tls.enabled=true
unable to request metadata: unable to dial: tls: failed to verify certificate: x509: certificate signed by unknown authority
In the Redpanda log, we could see the following messages when the rpk command failed.
WARN 2025-01-03 05:30:47,719 [shard 0:main] kafka - server.cc:402 - Error kafka rpc protocol 10.244.1.11:41074: std::__1::system_error (error OpenSSL:167773202, Failed to establish SSL handshake: [error:0A000412:SSL routines::sslv3 alert bad certificate]: error:0A000412:SSL routines::sslv3 alert bad certificate) (sasl state: initial)
ERROR 2025-01-03 05:30:47,719 [shard 0:main] kafka - server.cc:159 - Error[applying protocol] remote address: 10.244.1.11:41074 - std::__1::system_error (error OpenSSL:167773202, Failed to establish SSL handshake: [error:0A000412:SSL routines::sslv3 alert bad certificate]: error:0A000412:SSL routines::sslv3 alert bad certificate)
How can I make the rpk command work?
Solution
The error message indicates that the client failed to verify the server's TSL certificate. In the case of the rpk command, there are two options:
1. Ignore the certificate authority
Please use -X tls.insecure_skip_verify=true option
2. Get the certificate of the certificate authority and use it as a trusted ca
Please use -X tls.ca= option
Here is an example of using the "-X tls.insecure_skip_verify=true" option
$ rpk cluster info -X tls.enabled=true -X tls.insecure_skip_verify=true CLUSTER ======= redpanda.55a22754-83b4-421f-b3c5-a466a54e4333 BROKERS ======= ID HOST PORT 0 redpanda-0.redpanda.redpanda-system.svc.cluster.local. 9093 1 redpanda-1.redpanda.redpanda-system.svc.cluster.local. 9093 2* redpanda-2.redpanda.redpanda-system.svc.cluster.local. 9093 TOPICS ====== NAME PARTITIONS REPLICAS _schemas 1 3 test001 1 3
Here is an example of using the -X tls.ca= option.
$ rpk cluster info -X tls.enabled=true -X tls.ca=/etc/tls/certs/default/ca.crt
CLUSTER
=======
redpanda.55a22754-83b4-421f-b3c5-a466a54e4333
BROKERS
=======
ID HOST PORT
0 redpanda-0.redpanda.redpanda-system.svc.cluster.local. 9093
1 redpanda-1.redpanda.redpanda-system.svc.cluster.local. 9093
2* redpanda-2.redpanda.redpanda-system.svc.cluster.local. 9093
TOPICS
======
NAME PARTITIONS REPLICAS
_schemas. 1 3
test001 1 3
Notes
If you have any questions on this notice or need further guidance, please contact customer-success@redpanda.com / support@redpanda.com