public synchronized boolean containsAllIdentityCertificate() throws CertificateStoreConfigException
    {
        final Collection<String> dns = CertificateManager.determineSubjectAlternateNameDnsNameValues();

        try
        {
            for ( final String alias : Collections.list( store.aliases() ) )
            {
                final Set<String> missingDns = new HashSet<>();

                final Certificate certificate = store.getCertificate( alias );
                if ( !( certificate instanceof X509Certificate ) )
                {
                    continue;
                }

                final List<String> serverIdentities = CertificateManager.getServerIdentities( (X509Certificate) certificate );

                // Are all of our DNS names covered?
                for ( String dnsId : dns )
                {
                    boolean found = false;
                    for ( String identity : serverIdentities )
                    {
                        if ( DNSUtil.isNameCoveredByPattern( dnsId, identity ) )
                        {
                            found = true;
                            break;
                        }
                    }

                    if ( !found )
                    {
                        Log.info( "Certificate with alias '{}' is missing DNS identity '{}'.", alias, dnsId );
                        missingDns.add( dnsId );
                    }
                }

                if ( missingDns.isEmpty() )
                {
                    return true;
                }
            }
            return false;
        }
        catch ( KeyStoreException e )
        {
            throw new CertificateStoreConfigException( "An exception occurred while searching for certificates that match the Openfire domain.", e );
        }
    }
Checks if the store contains a certificate of a particular algorithm that contains at least all of the identities
of this server (which includes the XMPP domain name, but also its hostname, and XMPP addresses of components
that are currently being hosted).

This method will not distinguish between self-signed and non-self-signed certificates.

@return {@code true} if the store contains a certificate of a particular algorithm that contains at least all of the identities of this server, otherwise {@code false}
@throws CertificateStoreConfigException if there was a problem accessing the certificates
xmppserver/src/main/java/org/jivesoftware/openfire/keystore/IdentityStore.java