net.rim.device.api.crypto
Class PSSSignatureVerifier

java.lang.Object
  extended by net.rim.device.api.crypto.PSSSignatureVerifier
All Implemented Interfaces:
SignatureVerifier

public final class PSSSignatureVerifier
extends Object
implements SignatureVerifier

The PSSSignatureVerifier class can verify an RSA Signature Scheme with Appendix - Probabilistic Signature Scheme RSA (PSS) signature.

We implemented PSS as per it's description in the PKCS #1 version 2.1 document.

See Also:
PSSSignatureSigner
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

Constructor Summary
Category: Signed PSSSignatureVerifier(RSAPublicKey key, byte[] signature, int signatureOffset)
          Constructs an RSA PSSSignatureVerifier object which uses the SHA-1 digest.
Category: Signed PSSSignatureVerifier(RSAPublicKey key, Digest digest, byte[] signature, int signatureOffset)
          Constructs an RSA PSSSignatureVerifier object which uses the given digest.
 
Method Summary
Category: Signed  String getAlgorithm()
          Returns the name of the signing algorithm used ("RSA_PSS/" + digest algorithm name).
Category: Signed  void update(byte[] data)
          Adds additional message data to the signature.
Category: Signed  void update(byte[] data, int offset, int length)
          Adds additional message data to the signature.
Category: Signed  void update(int data)
          Adds additional message data to the signature.
Category: Signed  boolean verify()
          Returns true if the signature is valid, false otherwise.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

PSSSignatureVerifier

public PSSSignatureVerifier(RSAPublicKey key,
                            byte[] signature,
                            int signatureOffset)
                     throws InvalidSignatureEncodingException
Constructs an RSA PSSSignatureVerifier object which uses the SHA-1 digest.

Parameters:
key - The public key used to verify the signature.
signature - A byte array containing the signature to be verified.
signatureOffset - The offset, or initial position, of the signature within the array.
Throws:
InvalidSignatureEncodingException
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

PSSSignatureVerifier

public PSSSignatureVerifier(RSAPublicKey key,
                            Digest digest,
                            byte[] signature,
                            int signatureOffset)
                     throws InvalidSignatureEncodingException
Constructs an RSA PSSSignatureVerifier object which uses the given digest.

Parameters:
key - The public key used to verify the signature.
digest - The digest used to process the message.
signature - The signature to be verified.
signatureOffset - The offset, or starting position of the signature within the array.
Throws:
InvalidSignatureEncodingException
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0


Method Detail

getAlgorithm

public String getAlgorithm()
Returns the name of the signing algorithm used ("RSA_PSS/" + digest algorithm name).

Specified by:
getAlgorithm in interface SignatureVerifier
Returns:
A String that represents the name of the algorithm.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

update

public void update(int data)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Parameters:
data - The byte to be hashed.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

update

public void update(byte[] data)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Parameters:
data - A byte array containing the message data to hash.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

update

public void update(byte[] data,
                   int offset,
                   int length)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Parameters:
data - The message data to hash.
offset - The offset, or initial position to start reading in the data.
length - The amount of data to read.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

verify

public boolean verify()
               throws CryptoTokenException,
                      CryptoUnsupportedOperationException
Description copied from interface: SignatureVerifier
Returns true if the signature is valid, false otherwise.

Specified by:
verify in interface SignatureVerifier
Returns:
A boolean that returns true if the signature is valid, false otherwise.
Throws:
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown when a call is made to an unsupported operation.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0





Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.