Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 Mirko Caserta
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this software except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *  http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.springcryptoutils.core.signature;
 
 import java.util.Map;
 
The default implementation for verifying the authenticity of messages using base64 encoded digital signatures when the public key alias can be configured on the side of the user of this interface.

Author(s):
Mirko Caserta (mirko.caserta@gmail.com)
 
 
 
 
 	private String algorithm = "SHA1withRSA";
 
 	private String charsetName = "UTF-8";
 
 	private String provider;

Sets the public key registry.

Parameters:
publicKeyRegistryByAlias the public key registry
 
 	public void setPublicKeyRegistryByAlias(PublicKeyRegistryByAlias publicKeyRegistryByAlias) {
 		this. = publicKeyRegistryByAlias;
 	}

The signature algorithm. The default is SHA1withRSA.

Parameters:
algorithm the signature algorithm
 
 	public void setAlgorithm(String algorithm) {
 		this. = algorithm;
 	}

The charset to use when converting a string into a raw byte array representation. The default is UTF-8.

Parameters:
charsetName the charset name (default: UTF-8)
 
 	public void setCharsetName(String charsetName) {
 		this. = charsetName;
 	}

Sets the provider name of the specific implementation requested (e.g., "BC" for BouncyCastle, "SunJCE" for the default Sun JCE provider).

Parameters:
provider the provider to set
 
 	public void setProvider(String provider) {
 		this. = provider;
 	}

Verifies the authenticity of a message using a base64 encoded digital signature.

Parameters:
keyStoreChooser the keystore chooser
publicKeyChooserByAlias the public key chooser
message the message to sign
signature the base64 encoded digital signature
Returns:
true if the authenticity of the message is verified by the digital signature
 
 	public boolean verify(KeyStoreChooser keyStoreChooserPublicKeyChooserByAlias publicKeyChooserByAliasString message,
 			String signature) {
 		Base64EncodedVerifier verifier = .get(cacheKey(keyStoreChooserpublicKeyChooserByAlias));
 
 		if (verifier != null) {
 			return verifier.verify(messagesignature);
		}
		verifierImpl.setAlgorithm();
		verifierImpl.setProvider();
		PublicKey publicKey = .get(keyStoreChooserpublicKeyChooserByAlias);
		if (publicKey == null) {
			throw new SignatureException("public key not found: keyStoreName=" + keyStoreChooser.getKeyStoreName()
", alias=" + publicKeyChooserByAlias.getAlias());
		}
		verifierImpl.setPublicKey(publicKey);
		.put(cacheKey(keyStoreChooserpublicKeyChooserByAlias), verifierImpl);
		return verifierImpl.verify(messagesignature);
	}
	private static String cacheKey(KeyStoreChooser keyStoreChooserPublicKeyChooserByAlias publicKeyChooserByAlias) {
		return new StringBuffer().append(keyStoreChooser.getKeyStoreName()).append('-').append(
				publicKeyChooserByAlias.getAlias()).toString();
	}
New to GrepCode? Check out our FAQ X