Certificate expiry and renewal
How to renew and replace TLS certificates in your VMware deployment.
All ingress certificates in API Connect have a duration of 2 years. To avoid an outage when they expire, they must be manually renewed before expiration.
The ingress-ca
CA certificate has a duration of 10 years and also requires manual steps to renew it before
expiry.
Intra-subsystem certificates are renewed automatically.
Identifying expired certificates
apicup certs list <subsystem>Any certificates that
are expired or near to expiry are indicated in the Validation errors column.Follow the step in Renewing certificates to renew expired or nearly expired certificates.
- Login to each subsystem VM:
ssh apicadm@<subsystem hostname>Note: If you have a three replica deployment, login to only one of the VMs of each subsystem. - Switch to the root user:
sudo -i - Install the apicops tool: The API Connect operations tool: apicops:
- Download the latest apicops-v10-linux executable
file:
For example:wget <URL of latest apicops-v10-linux>wget https://github.com/ibm-apiconnect/apicops/releases/download/<latest version>/apicops-v10-linux - Add execute permissions to
apicops-v10-linux:
chmod a+x apicops-v10-linux
- Download the latest apicops-v10-linux executable
file:
- Run the apicops certs:validate
command:
where <subsystem> is the subsystem you are running the command on, either: Management, portal, or analytics../apicops-v10-linux certs:validate -s <subsystem>The apicops command reports any certificates that are expired or within 60 days of expiry.
You can ignore the message:
this is expected on VMware deployments.Cannot check who signed the certificate returned by ... as no ingress issuer was provided - Renew any certificates that are expired or approaching expiry, except for the certificates that
are listed under the heading
Validating subsystem certificates for <subsystem name>, these are intra-subsystem certificates that are renewed automatically.Validating subsystem certificates for abc-management Good certificate: <subsystem name>-ca Good certificate: <subsystem name>-client Good certificate: <subsystem name>-serverFollow the step in Renewing certificates to renew expired or nearly expired certificates.
Renewing certificates
ingress-ca certificate, then
see Renewing ingress-ca.- Clear the existing certificate with the
apicup certs clearcommand:
Repeat for all ingress certificates that you want to renew.apicup certs set --clear <subsystem> <certificate name> - Generate new certificates for all the certificates that you cleared in step 1:
You do not need to specify the certificates with the apicup certs generate, the command identifies all empty (cleared) certificates in the subsystem and generates new ones.apicup certs generate <subsystem> - Apply the updated certificates to the
subsystem:
apicup subsys install <subsystem>
Renewing ingress-ca
ingress-ca, and then renew
all the end-entity certificates the are signed by ingress-ca.- Clear the
ingress-cacertificate:apicup certs set --clear <management subsystem> ingress-caAlthough this command specifies <management subsystem>, because
ingress-cais a common certificate, it is cleared for all subsystems. You do not need to repeat this command for every portal or analytics subsystem that is managed from the same project directory. - Generate a new
ingress-ca:
The generate command creates certificates for all previously cleared certificates, you do not need to specifyapicup certs generate <subsystem>ingress-cain this command. - Clear all the ingress end-entity certificates that are signed by
ingress-ca:
For a list of the ingress certificates, see Ingress certificates.apicup certs set --clear <subsystem> <certificate name> - Generate new ingress end-entity certificates for each
subsystem:
apicup certs generate <subsystem> - Apply the updated certificates to all
subsystems:
apicup subsystem install <subsystem>