“[500] An error occurred while fetching identity providers. Try again.”/var/log/vmware/vsphere_ui/logs/vsphere_client_virgo.log
YYYY-MM-DD HH:MM:SS [WARN ] http-nio-5090-exec-9 70000004 100004 ###### c.v.vsphere.client.security.oauth2.logout.LogoutRequestHandler Unable to determine the identity provider type. Logout request will be skipped.YYYY-MM-DD HH:MM:SS [INFO ] http-nio-5090-exec-4 70000005 100004 ###### com.vmware.vsphere.client.security.oauth2.LoginRequestHandler Received Multi login requestYYYY-MM-DD HH:MM:SS [INFO ] http-nio-5090-exec-4 70000005 100004 ###### com.vmware.vise.vim.vapi.StaticEndpointVapiConnectionManager Connected to vAPI endpoint https://vcenter.example.org:443/site/apiYYYY-MM-DD HH:MM:SS [ERROR] VapiAsyncCall-101 com.vmware.vise.vim.vapi.DefaultVapiConnectionControl Maximum number of attempts reached while trying to call com.vmware.vcenter.identity.providers.listYYYY-MM-DD HH:MM:SS [ERROR] http-nio-5090-exec-4 70000005 100004 ###### com.vmware.vsphere.client.security.oauth2.LoginRequestHandler An error occurred while fetching providers com.vmware.vapi.std.errors.Unauthenticated: Unauthenticated (com.vmware.vapi.std.errors.unauthenticated) => { messages = [LocalizableMessage (com.vmware.vapi.std.localizable_message) => { id = vapi.method.authentication.required, defaultMessage = This method requires authentication., args = [], params = <null>, localized = <null>}], data = <null>, errorType = UNAUTHENTICATED, challenge = <null>} at java.lang.Thread.getStackTrace(Thread.java:1559) /var/log/vmware/trustmanagement/trustmanagement-svcs.log:
YYYY-MM-DD HH:MM:SS [tomcat-exec-14 INFO com.vmware.identity.token.impl.SamlTokenImpl opId=] SAML token for SubjectNameId [value=machine-<machineID>@vsphere.local, format=http://schemas.xmlsoap.org/claims/UPN] successfully parsed from XMLYYYY-MM-DD HH:MM:SS [tomcat-exec-14 INFO com.vmware.identity.token.impl.X509TrustChainKeySelector opId=] Failed to find trusted path to signing certificate <STS Certificate Subject, example - C=US,CN=ssoserverSign\,dc\=vsphere\,dc\=local>java.security.cert.CertPathBuilderException: Unable to find certificate chain. at org.bouncycastle.jcajce.provider.PKIXCertPathBuilderSpi.engineBuild(Unknown Source) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at com.vmware.identity.token.impl.X509TrustChainKeySelector.verifyTrustedPathExists(X509TrustChainKeySelector.java:197) at com.vmware.identity.token.impl.X509TrustChainKeySelector.select(X509TrustChainKeySelector.java:116)
The issue occurs due to expired certificates in the vCenter Server. This can include Solution User certificates and the STS (Security Token Service) signing certificate. These certificates are essential for authentication and secure communication between vCenter services. Once expired, internal services such as STS and SSO (Single Sign-On) cannot authenticate properly, leading to the “[500] An error occurred while fetching identity providers” error on the vCenter UI.
a. Resetting the STS Certificate
Follow the steps below to reset the STS certificate:
Note: Perform these steps only if the following error messages are observed in
/var/log/vmware/trustmanagement/trustmanagement-svcs.log:
Failed to find trusted path to signing certificateUnable to find certificate chain
For more details on resetting the STS certificate, refer to the KB article: Signing certificate is not valid” error in vCenter Server Appliance.
b. Replacing expired Machine SSL or Solution User certificates
If the Machine SSL or Solution User certificates have expired, follow the steps below:
From the main menu, select Option 3 - Manage Certificate.
To replace Machine SSL certificate, Select Option 1 - Machine SSL Certificate.
To replace Solution User certificate, Select Option 2 - Solution User Certificates.