/** * 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; }
/** * 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; }