net.rim.device.api.crypto
Class DSASignatureVerifier

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

public final class DSASignatureVerifier
extends Object
implements SignatureVerifier

Verifies a DSA signature on a message.

The Digital Signature Algorithm ( DSA ) is defined in FIPS 186.

See Also:
DSASignatureSigner
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 DSASignatureVerifier(DSAPublicKey key, byte[] r, int rOffset, byte[] s, int sOffset)
          Construct a DSASignatureVerifier object using SHA-1 for the digest.
Category: Signed DSASignatureVerifier(DSAPublicKey key, Digest digest, byte[] r, int rOffset, byte[] s, int sOffset)
          Constructs a DSASignatureVerifier object specifying the digest to use.
 
Method Summary
Category: Signed  String getAlgorithm()
          Returns the name of the signing algorithm used, ie "DSA/" + Digest.getAlgorithm().
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

DSASignatureVerifier

public DSASignatureVerifier(DSAPublicKey key,
                            byte[] r,
                            int rOffset,
                            byte[] s,
                            int sOffset)
                     throws CryptoTokenException,
                            CryptoUnsupportedOperationException,
                            InvalidSignatureEncodingException
Construct a DSASignatureVerifier object using SHA-1 for the digest.

NOTE: Also, if r and s point to the same buffer, then it is assumed that the length of r and the length of s are both exactly the length of the private key.

Parameters:
key - The DSA public key to use.
r - The array containing the r parameter to use.
rOffset - The starting offset within the array for r.
s - The array containing the s parameter to use.
sOffset - The starting offset within the array for s.
Throws:
CryptoTokenException - Thrown if an error occurs with the crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
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

DSASignatureVerifier

public DSASignatureVerifier(DSAPublicKey key,
                            Digest digest,
                            byte[] r,
                            int rOffset,
                            byte[] s,
                            int sOffset)
                     throws CryptoTokenException,
                            CryptoUnsupportedOperationException,
                            InvalidSignatureEncodingException
Constructs a DSASignatureVerifier object specifying the digest to use. Although DSA specifies the use of SHA1, we are allowing the use of other digests than SHA1. This could cause some unstable uses though, so be wary of this.

NOTE: If the digest has any state information in it when it is given to the signature verifier, this information will be incorparated into the signature.

NOTE: Also, if r and s point to the same buffer, then it is assumed that the length of r and the length of s are both exactly the length of the private key.

Parameters:
key - The DSA public key to use.
digest - An instance of the digest algorithm to use.
r - The array containing the r parameter to use.
rOffset - The starting offset within the array for r.
s - The array containing the s parameter to use.
sOffset - The starting offset within the array for s.
Throws:
CryptoTokenException - Thrown if an error occurs with the crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
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, ie "DSA/" + Digest.getAlgorithm().

Specified by:
getAlgorithm in interface SignatureVerifier
Returns:
A String representing 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-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal