TIS0005 - Root CA Certificate Is Invalid or Has Expired
The root CA certificate is either invalid (missing required fields or improperly formatted) or has expired, causing potential failures in mutual TLS (mTLS) or other secure connections.
By verifying and updating your root CA certificate to ensure it is valid and properly configured, you can maintain secure communication across your Istio-enabled environment.
Examples
-
Secret
Containing an Expired Root CA CertificateapiVersion: v1
kind: Secret
metadata:
name: root-ca
namespace: istio-system
type: Opaque
data:
ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FUR... # Expired certificate
ca-key.pem: LS0tLS1CRUdJTiBQUklWQVRFIEtFWT...Explanation: The root CA certificate inside the
ca-cert.pem
file has passed itsnotAfter
date. Any workloads relying on this certificate will fail to establish a secure connection once the certificate is expired. -
Secret
Missing Required Certificate FieldsapiVersion: v1
kind: Secret
metadata:
name: root-ca
namespace: istio-system
type: Opaque
data:
ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FUR... # Missing Subject or SAN fields
ca-key.pem: LS0tLS1CRUdJTiBQUklWQVRFIEtFWT...Explanation: The provided CA certificate is missing critical fields (e.g., Subject or SAN) required for correct certificate validation. This could lead to trust issues or handshake failures in the service mesh.
-
Secret
Missingca-cert.pem
apiVersion: v1
kind: Secret
metadata:
name: root-ca
namespace: istio-system
type: Opaque
data:
# ca-cert.pem is completely missing
ca-key.pem: LS0tLS1CRUdJTiBQUklWQVRFIEtFWT...Explanation: The Secret does not contain the
ca-cert.pem
file required for establishing trust. Without this file, Istio workloads cannot authenticate peer certificates or set up secure connections using mTLS.
Recommendation
-
Renew or Replace the Root CA Certificate
Generate or obtain a new certificate before the current certificate expires, ensuring it includes required fields (e.g., Subject, SAN) and has an appropriate
notAfter
date.# Example: Generate a self-signed CA certificate with OpenSSL (for testing)
openssl req -x509 -newkey rsa:4096 -nodes -keyout ca-key.pem -out ca-cert.pem -days 365 \
-subj "/C=US/ST=Example/L=Example/O=Example/CN=example-ca" -
Verify Certificate Validity Period and Configuration
Regularly check the validity dates of your root CA certificate, ensuring it is not expired and that all required fields (e.g., Subject, SAN) are present.
# Check dates of a certificate
openssl x509 -noout -dates -in ca-cert.pem