code: public boolean verify(String publicKeyId, String message, String signature) {
  		Base64EncodedVerifier verifier = cache.get(publicKeyId);
  
  		if (verifier != null) {
  			return verifier.verify(message, signature);
  		}
  
  		Base64EncodedVerifierImpl verifierImpl = new Base64EncodedVerifierImpl();
  		verifierImpl.setAlgorithm(algorithm);
  		verifierImpl.setCharsetName(charsetName);
  		verifierImpl.setProvider(provider);
  		PublicKey publicKey = publicKeyMap.get(publicKeyId);
  
  		if (publicKey == null) {
  			throw new SignatureException("public key not found: publicKeyId=" + publicKeyId);
  		}
  
  		verifierImpl.setPublicKey(publicKey);
  		cache.put(publicKeyId, verifierImpl);
  		return verifierImpl.verify(message, signature);
  	}
docs: Verifies the authenticity of a message using a base64 encoded digital
  signature.
  
  @param publicKeyId the logical name of the public key as configured in
  the underlying mapping
  @param message the original message to verify
  @param signature the base64 encoded digital signature
  @return true if the original message is verified by the digital signature
  @see #setPublicKeyMap(java.util.Map)