Bringing your own CA Certificate
You can replace the WebSphere Automation self-signed certificate authority (CA) certificate with your own CA certificate.
Prerequisites
The following PEM encoded certificate files are required:
ca.crt: Contains the whole certificate chain from Root to the signing CA. Signing CA is the topmost and the root CA is the last.tls.crt: Contains only the signing CA.tls.key: Contains the RSA private key for the signing CA.
Create your own secret
- Create the secret with the name
wsa-custom-ca:oc create secret generic wsa-custom-ca \ --namespace <instance-namespace> \ --from-file=ca.crt=ca.crt \ --from-file=tls.crt=tls.crt \ --from-file=tls.key=tls.key \ --dry-run=client -o yaml | oc apply -f - - Wait for all WSA pods to restart. After the restart all certificates used by Mongo, used for registration and used by the UI will be issued by the CA set in the secret.
Use Custom CA for prerequisites
- For Kafka, see Renewing or replacing CA certificates and private keys with your own on the official Strimzi documentation.
- For Cloud Pak Foundational Services (CPFS) and Zen service, see Bringing your own CA Certificate.
- After you change the CPFS CA, delete the
zen-ca-cert-secretto force the operator to recreate the secret by copying from the CPFS CA.
Refreshing CA chain for Red Hat Cert Manager
If you use Red Hat Cert Manage for CPFS, you can run the following command to refresh the chain
since Red Hat Cert Manage does not have an equivalent of refresh-ca-chain=true in ibm cert
manager.
oc get certificates -A -o jsonpath='{range .items[?(@.spec.issuerRef.name == "<issuer-name>")]}{.spec.secretName}{"\t"}{.metadata.namespace}{"\n"}{end}' | \
xargs -n2 sh -c 'oc delete secret "$0" -n "$1"'
Note: You can set
issuer-name as cs-ca-issuer for CPFS or set
zen-tls-issuer for internal zen certificates.