To provide a supported method for removing the STS_INTERNAL_SSL_CERT without crashing the VCSA ; as newly deployed topologies in vCSA 6.x,7.x and 8.x do not have such STORE.
/var/log/vmware/sso/vmware-identity-sts-default.log:
[YYYY-MM-DDTHH:MM:SS] pool-2-thread-5 WARN com.vmware.identity.interop.ldap.LdapErrorChecker] Error received by LDAP client: com.vmware.identity.interop.ldap.OpenLdapClientLibrary, error code: 32
[YYYY-MM-DDTHH:MM:SS] pool-2-thread-5 ERROR com.vmware.identity.interop.ldap.OpenLdapClientLibrary] Exception when calling ldap_search_s: base=cn=2138b306-81d6-####-9212-#######,cn=ServiceRegistrations,cn=LookupService,cn=Default-First-Site,cn=Sites,cn=Configuration,dc=vsphere,dc=local, scope=2, filter=(objectclass=*), attrs=null, attrsonly=0 com.vmware.identity.interop.ldap.NoSuchObjectLdapException: No such object
/var/log/vmware/sso/tomcat/catalina.log
:[YYYY-MM-DDTHH:MM:SS]SEVE org.apache.catalina.core.StandardService Failed to initialize connector [Connector[com.vmware.identity.tomcat.VECSAwareHttp11NioProtocol-7444]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
Caused by: java.lang.IllegalArgumentException: Native platform error [code: 4312][Native platform error [code: 4312][Opening store 'STS_INTERNAL_SSL_CERT' failed. [Server: __localhost__, User: __localuser__]]]
alarm.CertificateStatusAlarm
/usr/lib/vmware-sso/vmware-sts/conf/server.xml
and store STS_INTERNAL_SSL_CERT
1. Scripted way to remove STS_INTERNAL_SSL_CERT from VECS via shell Script:
mandatorily
) if using Enhanced Linked Mode (ELM) or a regular snapshot if standalone vCSA. python lsdoctor.py-l
to see if there are stale service registrations in the lookup service. If there are no stale registrations, jump to the next step. Otherwise, run python lsdoctor.py -s
and python lsdoctor.py -t
respectively and continue with the next step. Delete_ STS_INTERNAL_SSL_CERT.sh
chmod +rx Delete_ STS_INTERNAL_SSL_CERT.sh
./Delete_ STS_INTERNAL_SSL_CERT.sh
for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
bash: ./Delete_ STS_INTERNAL_SSL_CERT.sh: /bin/bash^M: bad interpreter: No such file or directory
sed -i -e 's/\r$//' Delete_ STS_INTERNAL_SSL_CERT.sh
2. Manual way to remove STS_INTERNAL_SSL_CERT via command line:
/usr/lib/vmware-vmafd/bin/vecs-cli store list
/usr/lib/vmware-sso/vmware-sts/conf/server.xml
and change "STS_INTERNAL_SSL_CERT
" to "MACHINE_SSL_CERT
" in this file,cp /usr/lib/vmware-sso/vmware-sts/conf/server.xml /usr/lib/vmware-sso/vmware-sts/conf/server.xml.old
sed -i 's/STS_INTERNAL_SSL_CERT/MACHINE_SSL_CERT/g' /usr/lib/vmware-sso/vmware-sts/conf/server.xml
/usr/lib/vmware-vmafd/bin/vecs-cli store delete --name STS_INTERNAL_SSL_CERT
service-control --stop --all && service-control --start --all;