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
-
SecretContaining 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.pemfile has passed itsnotAfterdate. Any workloads relying on this certificate will fail to establish a secure connection once the certificate is expired. -
SecretMissing 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.
-
SecretMissingca-cert.pemapiVersion: 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.pemfile 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
notAfterdate.# 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