Esempio n. 1
0
  /**
   * Searches the per-KeyInfo KeyResolvers for public keys
   *
   * @return The public key contained in this Node.
   * @throws KeyResolverException
   */
  PublicKey getPublicKeyFromInternalResolvers() throws KeyResolverException {
    for (KeyResolverSpi keyResolver : internalKeyResolvers) {
      if (log.isLoggable(j86.java.util.logging.Level.FINE)) {
        log.log(j86.java.util.logging.Level.FINE, "Try " + keyResolver.getClass().getName());
      }
      keyResolver.setSecureValidation(secureValidation);
      Node currentChild = this.constructionElement.getFirstChild();
      String uri = this.getBaseURI();
      while (currentChild != null) {
        if (currentChild.getNodeType() == Node.ELEMENT_NODE) {
          for (StorageResolver storage : storageResolvers) {
            PublicKey pk =
                keyResolver.engineLookupAndResolvePublicKey((Element) currentChild, uri, storage);

            if (pk != null) {
              return pk;
            }
          }
        }
        currentChild = currentChild.getNextSibling();
      }
    }

    return null;
  }
Esempio n. 2
0
  /**
   * Method getX509CertificateFromInternalResolvers
   *
   * @return The certificate contained in this KeyInfo
   * @throws KeyResolverException
   */
  X509Certificate getX509CertificateFromInternalResolvers() throws KeyResolverException {
    if (log.isLoggable(j86.java.util.logging.Level.FINE)) {
      log.log(
          j86.java.util.logging.Level.FINE,
          "Start getX509CertificateFromInternalResolvers() with "
              + this.lengthInternalKeyResolver()
              + " resolvers");
    }
    String uri = this.getBaseURI();
    for (KeyResolverSpi keyResolver : internalKeyResolvers) {
      if (log.isLoggable(j86.java.util.logging.Level.FINE)) {
        log.log(j86.java.util.logging.Level.FINE, "Try " + keyResolver.getClass().getName());
      }
      keyResolver.setSecureValidation(secureValidation);
      X509Certificate cert = applyCurrentResolver(uri, keyResolver);
      if (cert != null) {
        return cert;
      }
    }

    return null;
  }