net.rim.device.api.crypto
Class PSSSignatureSigner

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

public final class PSSSignatureSigner
extends Object
implements SignatureSigner

The PSSSignatureSigner class can sign messages using the RSA Signature Scheme with Appendix - Probabilistic Signature Scheme RSA (PSS) signature PSS signature scheme.

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

For information on cryptographic algorithms, see Crypto Algorithms.

See Also:
PSSSignatureVerifier
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 PSSSignatureSigner(RSAPrivateKey key)
          Constructs an RSA PSSSignatureSigner object which uses the SHA-1 digest.
Category: Signed PSSSignatureSigner(RSAPrivateKey key, Digest digest)
          Constructs an RSA PSSSignatureSigner object which uses the given digest.
Category: Signed PSSSignatureSigner(RSAPrivateKey key, Digest digest, byte[] salt)
          Constructs an RSA PSSSignatureSigner object which uses the given digest.
 
Method Summary
Category: Signed  String getAlgorithm()
          Returns a String containing the name of the algorithm ("RSA_PSS/ + digest name").
Category: Signed  String getDigestAlgorithm()
          Returns the name of the digest algorithm used, eg "SHA1", etc.
Category: Signed  int getLength()
          Returns the length of the signature in bytes.
Category: Signed  void reset()
          Reinitializes the signer, preparing it to generate another signature.
Category: Signed  void sign(byte[] signature, int signatureOffset)
          Signs the formatted signature data that has been generated from the values passed through the update function.
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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

PSSSignatureSigner

public PSSSignatureSigner(RSAPrivateKey key)
Constructs an RSA PSSSignatureSigner object which uses the SHA-1 digest.

Parameters:
key - The private key to use for signing.
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

PSSSignatureSigner

public PSSSignatureSigner(RSAPrivateKey key,
                          Digest digest)
Constructs an RSA PSSSignatureSigner object which uses the given digest.

Parameters:
key - The private key used for signing.
digest - The digest used to process the message.
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

PSSSignatureSigner

public PSSSignatureSigner(RSAPrivateKey key,
                          Digest digest,
                          byte[] salt)
Constructs an RSA PSSSignatureSigner object which uses the given digest.

Parameters:
key - The private key used for signing.
digest - The digest used to process the message.
salt - The salt to be used in the signing object. This must be made with the same digest as was used to create the signing object
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 a String containing the name of the algorithm ("RSA_PSS/ + digest name").

Specified by:
getAlgorithm in interface SignatureSigner
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

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:
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:
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:
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:
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:
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

getLength

public int getLength()
Returns the length of the signature in bytes.

Returns:
An integer that specifies the length of the signature.
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

sign

public void sign(byte[] signature,
                 int signatureOffset)
          throws CryptoTokenException,
                 CryptoUnsupportedOperationException
Signs the formatted signature data that has been generated from the values passed through the update function.

Parameters:
signature - A byte array containing the signature.
signatureOffset - The offset, or starting position, of the signature within the array.
Throws:
CryptoTokenException - Thrown when an error 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.