SHOW Signed SHOW CryptoExtensionAPI
 

net.rim.device.api.crypto
Class SignatureSignerFactory

java.lang.Object
  |
  +--net.rim.device.api.crypto.SignatureSignerFactory

public abstract class SignatureSignerFactory
extends Object

Contains the functionality for a high level approach to signature signing.

For more information on the cryptographic algorithms supported by this factory, see Crypto Algorithms.

NOTE: The implementation of this class may return an object that uses functionality provided by Certicom. In such cases, the calling code must have a license with Certicom, and be signed with the RCC code signing key. If the RCC code signature check fails, then a ControlledAccessException is thrown. For more information on the classes that use technology from Certicom, see Crypto Algorithms.

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:
JDE 3.6.0
See Also:
ControlledAccessException

Constructor Summary
 Category: CryptoExtensionAPI Category: Signed protected SignatureSignerFactory()
          Creates a new SignatureSignerFactory object.
 
Method Summary
 Category: CryptoExtensionAPI Category: Signed protected abstract  SignatureSigner createSignatureSigner(String signatureAlgorithm, String digestAlgorithm, PrivateKey key)
          Called to create the SignatureSigner object.
 Category: Signed static Enumeration getAlgorithms()
          Returns an Enumeration of String representing all of the registered algorithms with this factory.
 Category: CryptoExtensionAPI Category: Signed protected abstract  String[] getFactoryAlgorithms()
          Returns the name of the algorithm used to sign the data.
 Category: Signed static SignatureSigner getInstance(PrivateKey key, String algorithm)
          Constructs and returns a new SignatureSigner.
 Category: CryptoExtensionAPI Category: Signed static void register(SignatureSignerFactory factory)
          Registers the given SignatureSignerFactory object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignatureSignerFactory

protected SignatureSignerFactory()
Creates a new SignatureSignerFactory object.

This constructor is not used.

Since:
JDE 3.6.0
Category:
CryptoExtensionAPI: This element is part of the Crypto Extension API. These APIs are intended for parties interested in extending the security provider frameworks, such as integrating a new security medium.
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.
Method Detail

createSignatureSigner

protected abstract SignatureSigner createSignatureSigner(String signatureAlgorithm,
                                                         String digestAlgorithm,
                                                         PrivateKey key)
                                                  throws NoSuchAlgorithmException,
                                                         CryptoTokenException,
                                                         CryptoUnsupportedOperationException,
                                                         ClassCastException
Called to create the SignatureSigner object.

Parameters:
algorithm - A String that represents the algorithm used to sign the data.
key - The PrivateKey used to sign the data.
Returns:
A SignatureSigner object.
Throws:
NoSuchAlgorithmException - Thrown if if the specified algorithm is invalid.
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.
Since:
JDE 3.6.0
Category:
CryptoExtensionAPI: This element is part of the Crypto Extension API. These APIs are intended for parties interested in extending the security provider frameworks, such as integrating a new security medium.
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.

getAlgorithms

public static Enumeration getAlgorithms()
Returns an Enumeration of String representing all of the registered algorithms with this factory.
Returns:
An Enumeration of Strings representing all of the registered algorithms with this factory.
Since:
JDE 3.6.0
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.

getFactoryAlgorithms

protected abstract String[] getFactoryAlgorithms()
Returns the name of the algorithm used to sign the data.

Returns:
A String representing the name of the algorithm.
Since:
JDE 3.6.0
Category:
CryptoExtensionAPI: This element is part of the Crypto Extension API. These APIs are intended for parties interested in extending the security provider frameworks, such as integrating a new security medium.
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.

getInstance

public static SignatureSigner getInstance(PrivateKey key,
                                          String algorithm)
                                   throws NoSuchAlgorithmException,
                                          CryptoTokenException,
                                          CryptoUnsupportedOperationException
Constructs and returns a new SignatureSigner. A SignatureSignerFactory object is selected based on algorithm, or key.getAlgorithm.

The algorithm argument can be one of the following recognized strings representing the SignatureSigner to construct:
STRING SIGNATURESIGNER
"DSA" DSASignatureSigner
"ECDSA" ECDSASignatureSigner
"ECNR" ECNRSignatureSigner
"RSA_PKCS1" PKCS1SignatureSigner (version 2.0)
"RSA_PKCS1_V20" PKCS1SignatureSigner (version 2.0)
"RSA_PKCS1_V15" PKCS1SignatureSigner (version 1.5)
"RSA_PSS" PSSSignatureSigner
"RSA_X931" X931SignatureSigner

NOTE: If the algorithm argument is null, than the type of signature signer to be constructed is defined from the PrivateKey argument. That is, DSA, ECDSA, and PKCS1 (version 2.0) are the default values returned for DSA, EC, and RSA PrivateKeys respectively. For example, if an ECNR signature signer is desired, the algorithm parameter must specify this, if null is used, an ECDSA signature signer will be created.

NOTE: If the parameter argument is null, than the default digest used in constructing a PKCS1V15 signature signer is an MD5 digest, for all other signature signers to be created, the default digest is SHA1.

Parameters:
key - The PrivateKey for signing
algorithm - The name of the SignatureSigner to construct. This parameter may be null.
Returns:
A SignatureSigner object.
Throws:
NoSuchAlgorithmException - Thrown if the specified algorithm does not exist.
CryptoTokenException - Thrown if an error occurs with a crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
Since:
JDE 3.6.0
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.

register

public static void register(SignatureSignerFactory factory)
Registers the given SignatureSignerFactory object. If a previous call registered a SignatureSignerFactory object with the same algorithm name, then this SignatureSignerFactory will not be added.
Parameters:
factory - The SignatureSignerFactory to be registered.
Since:
JDE 3.6.0
Category:
CryptoExtensionAPI: This element is part of the Crypto Extension API. These APIs are intended for parties interested in extending the security provider frameworks, such as integrating a new security medium.
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.



Copyright 1999-2009 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.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.