code: @Override
      public PrivateKey getPrivateKey() throws SocialLoginException {
          if (this.jsseHelper == null) {
              init();
          }
          if (sslKeyStoreName != null) {
              KeyStoreService keyStoreService = keyStoreServiceRef.getService();
              if (keyStoreService == null) {
                  throw new SocialLoginException("KEYSTORE_SERVICE_NOT_FOUND", null, new Object[0]);
              }
              if (keyAliasName != null && keyAliasName.trim().isEmpty() == false) {
                  // TODO: Determine if the first private key should be used if a private key is not found for the key alias.
                  try {
                      return keyStoreService.getPrivateKeyFromKeyStore(sslKeyStoreName, keyAliasName, null);
                  } catch (GeneralSecurityException e) {
                      throw new SocialLoginException("ERROR_LOADING_SPECIFIC_PRIVATE_KEY", e, new Object[] { keyAliasName, sslKeyStoreName, e.getLocalizedMessage() });
                  }
              } else {
                  // Get first public key
                  try {
                      return keyStoreService.getPrivateKeyFromKeyStore(sslKeyStoreName);
                  } catch (GeneralSecurityException e) {
                      throw new SocialLoginException("ERROR_LOADING_PRIVATE_KEY", e, new Object[] { sslKeyStoreName, e.getLocalizedMessage() });
                  }
              }
          }
          return null;
      }
docs: {@inheritDoc}