net.rim.device.api.crypto
Class DSASignatureSigner

java.lang.Object
  extended by net.rim.device.api.crypto.DSASignatureSigner
All Implemented Interfaces:
SignatureSigner

public final class DSASignatureSigner
extends Object
implements SignatureSigner

Signs a message using the DSA signature scheme.

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

For information on cryptographic algorithms, see Crypto Algorithms.

See Also:
DSASignatureVerifier
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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: Certicom Category: Signed DSASignatureSigner(DSAPrivateKey key)
          Constructs a DSASignatureSigner object which uses SHA-1 to compute the signature.
Category: Certicom Category: Signed DSASignatureSigner(DSAPrivateKey key, Digest digest)
          Constructs a DSASignatureSigner object which uses digest to compute the signature.
 
Method Summary
Category: Certicom Category: Signed  String getAlgorithm()
          Returns the name of this signing algorithm ( "DSA/" + digest.getAlgorithm() ).
Category: Certicom Category: Signed  String getDigestAlgorithm()
          Returns the name of the digest algorithm used, eg "SHA1", etc.
Category: Certicom Category: Signed  int getRLength()
          Returns the length of r.
Category: Certicom Category: Signed  int getSLength()
          Returns the length of s.
Category: Certicom Category: Signed  void reset()
          Reinitializes the signer, preparing it to generate another signature.
Category: Certicom Category: Signed  void sign(byte[] r, int rOffset, byte[] s, int sOffset)
          Performs the signing operation for the DSA algorithm.
Category: Certicom Category: Signed  void update(byte[] data)
          Adds additional message data to the signature.
Category: Certicom Category: Signed  void update(byte[] data, int offset, int length)
          Adds additional message data to the signature.
Category: Certicom Category: Signed  void update(int data)
          Adds additional message data to the signature.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

DSASignatureSigner

public DSASignatureSigner(DSAPrivateKey key)
                   throws CryptoTokenException,
                          CryptoUnsupportedOperationException
Constructs a DSASignatureSigner object which uses SHA-1 to compute the signature.

Parameters:
key - The private key to use.
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.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

DSASignatureSigner

public DSASignatureSigner(DSAPrivateKey key,
                          Digest digest)
                   throws CryptoTokenException,
                          CryptoUnsupportedOperationException
Constructs a DSASignatureSigner object which uses digest to compute the signature.

NOTE: If the digest has any state information in it when it is given to the signature signer, this information will be incorparated into the signature. If you don't want this information included, call the reset routine for the signature signer to delete it. A newly created digest, which no update calls have been made too, has no state information in it by default.

Parameters:
key - The private key to use.
digest - An instance of the digest algorithm to use.
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.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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 this signing algorithm ( "DSA/" + digest.getAlgorithm() ).

Specified by:
getAlgorithm in interface SignatureSigner
Returns:
A String that represents the name of the algorithm.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

getDigestAlgorithm

public String getDigestAlgorithm()
Returns the name of the digest algorithm used, eg "SHA1", etc.

Specified by:
getDigestAlgorithm in interface SignatureSigner
Returns:
A String that represents the name of the algorithm.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

reset

public void reset()
Description copied from interface: SignatureSigner
Reinitializes the signer, preparing it to generate another signature.

Specified by:
reset in interface SignatureSigner
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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: SignatureSigner
Adds additional message data to the signature.

Specified by:
update in interface SignatureSigner
Parameters:
data - The byte to be hashed.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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: SignatureSigner
Adds additional message data to the signature.

Specified by:
update in interface SignatureSigner
Parameters:
data - The message data to hash.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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: SignatureSigner
Adds additional message data to the signature.

Specified by:
update in interface SignatureSigner
Parameters:
data - The message data to hash.
offset - The offset, or the initial position to start reading in the data.
length - How much data to read.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

getRLength

public int getRLength()
Returns the length of r.

Returns:
An integer representing the length of r.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

getSLength

public int getSLength()
Returns the length of s.

Returns:
An integer representing the length of s.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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

sign

public void sign(byte[] r,
                 int rOffset,
                 byte[] s,
                 int sOffset)
          throws CryptoTokenException,
                 CryptoUnsupportedOperationException
Performs the signing operation for the DSA algorithm.

Parameters:
r - A byte array containing the r component of the signature.
rOffset - The starting offset in the r byte array.
s - A byte array containing the s component of the signature.
sOffset - The starting offset in the s byte array.
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.
Category:
Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.

Certicom Contact Information

Phone:905-507-4220

Email: sales@certicom.com

Website: http://www.certicom.com/rim

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.