The following symptoms are typically observed together on whichever affected service is involved:
Failed to initialize STSAdapter: componentType=ops with a TLS handshake error certificate_unknown(46) when connecting to https://<ops-fqdn>/suite-api/.well-known/openid-configuration.VCF 9.0.1
Connect to one of the VCF service control planes and fetch the FQDN by running the following command:
kubectl get pd -n vmsp-platform -ojson | jq | grep fqdnSet the VSP_HOST variable with the FQDN value:
VSP_HOST=my.vcf-mgmt.domainRun the following command to fetch the token:
curl -ks --request POST \
--url https://$VSP_HOST/api/v1/identity/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data grant_type=password \
--data '[email protected]' \
--data 'password=<password>'Note: Replace <password> with the actual VCF service password.
Set the TOKEN environment variable with the access_token value from the token HTTP response:
Copy the access_token value and update to create the variable:
TOKEN="<access_token>"Get the current OPS trusted issuer:
curl -sk -X GET https://${VSP_HOST}/api/v1/identity/trusted-issuers/ops \
-H "Authorization: Bearer ${VSP_TOKEN}" \
-H 'Accept: application/json' -o /tmp/ops-trusted-issuer.jsonFetch the OPS actual live certificate and save it to /tmp/ops-cert.pem:
openssl s_client -connect <ops-fqdn>:443 -servername <ops-fqdn> </dev/null 2>/dev/null | openssl x509 > /tmp/ops-cert.pemCreate another variable for the certificate NEW_CERT:
NEW_CERT=$(jq -Rs . /tmp/ops-cert.pem)Run the following command to split the trusted certificate:
jq --argjson newcert "${NEW_CERT}" '.nodes[0].certificates[0] = $newcert' \
/tmp/ops-trusted-issuer.json > /tmp/ops-trusted-issuer-updated.jsonRun the following command to update the trusted certificate:
curl -sk -w '\nHTTP_STATUS:%{http_code}\n' \
-X PUT https://<VSP_HOST>/api/v1/identity/trusted-issuers/ops \
-H "Authorization: Bearer ${VSP_TOKEN}" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d @/tmp/ops-trusted-issuer-updated.jsonLog out and log in to the VCF operation page. The authentication error should now be resolved.
openssl s_client -connect <ops-fqdn>:443 -servername <ops-fqdn> </dev/null 2>/dev/null | openssl x509 -noout -textkubectl -n vmsp-platform get secret identity-trusted-issuers -o jsonpath='{.data.issuers\.json}' | base64 -d | jq .