code: @Override
      public HashMap<String, PublicKey> getPublicKeys() throws SocialLoginException {
          if (this.jsseHelper == null) {
              init();
          }
          // TODO due to dynamic changes on keyStore, we have to load the public
          // keys everytime.
          HashMap<String, PublicKey> publicKeys = new HashMap<String, PublicKey>();
          if (this.sslTrustStoreName != null) {
              KeyStoreService keyStoreService = keyStoreServiceRef.getService();
              if (keyStoreService == null) {
                  throw new SocialLoginException("KEYSTORE_SERVICE_NOT_FOUND", null, new Object[0]);
              }
              Collection<String> names = null;
              try {
                  names = keyStoreService.getTrustedCertEntriesInKeyStore(sslTrustStoreName);
              } catch (KeyStoreException e) {
                  throw new SocialLoginException("ERROR_LOADING_KEYSTORE_CERTIFICATES", e, new Object[] { sslTrustStoreName, e.getLocalizedMessage() });
              }
              Iterator<String> aliasNames = names.iterator();
              while (aliasNames.hasNext()) {
                  String aliasName = aliasNames.next();
                  PublicKey publicKey = null;
                  try {
                      publicKey = keyStoreService.getCertificateFromKeyStore(sslTrustStoreName, aliasName).getPublicKey();
                  } catch (GeneralSecurityException e) {
                      throw new SocialLoginException("ERROR_LOADING_CERTIFICATE", e, new Object[] { aliasName, sslTrustStoreName, e.getLocalizedMessage() });
                  }
                  publicKeys.put(aliasName, publicKey);
              }
          }
  
          return publicKeys;
      }
docs: {@inheritDoc}
  
  @throws SocialLoginException