net.rim.device.api.crypto
Class SymmetricKeyFactory

java.lang.Object
  extended by net.rim.device.api.crypto.SymmetricKeyFactory

public abstract class SymmetricKeyFactory
extends Object

Contains the functionality for a high level approach to creating symmetric keys.

For more information on the cryptographic algorithms supported by this factory, 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:
BlackBerry API 3.6.0

Constructor Summary
Category: Signed protected SymmetricKeyFactory()
          Constructs a SymmetricKeyFactory object.
 
Method Summary
Category: Signed protected abstract  SymmetricKey create(String algorithm, byte[] data, int offset, int length)
          This method is called by getInstance, and performs the actual creation of the key.
Category: Signed static Enumeration getAlgorithms()
          Returns an Enumeration of String representing all of the registered algorithms with this factory.
Category: Signed protected abstract  int getDefaultKeyLength(String algorithm)
          This method is called by getInstance, and retrieves the default length of a key if the key length is not specified in the algorithm string.
Category: Signed protected abstract  String[] getFactoryAlgorithms()
          Called to determine what SymmetricKey's are supported.
Category: Signed static SymmetricKey getInstance(String algorithm)
          Constructs and returns a new random SymmetricKey object.
Category: Signed static SymmetricKey getInstance(String algorithm, byte[] data, int offset)
          Constructs and returns a new SymmetricKey object.
Category: Signed static SymmetricKey getInstance(String algorithm, byte[] data, int offset, int length)
          Constructs and returns a new SymmetricKey object.
Category: Signed static void register(SymmetricKeyFactory factory)
          Registers the given SymmetricKeyFactory.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

SymmetricKeyFactory

protected SymmetricKeyFactory()
Constructs a SymmetricKeyFactory object.

This constructor is not used.

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

getInstance

public static SymmetricKey getInstance(String algorithm,
                                       byte[] data,
                                       int offset,
                                       int length)
                                throws NoSuchAlgorithmException
Constructs and returns a new SymmetricKey object.

A SymmetricKeyFactory object is selected based on algorithm. In case of a conflict between keylength passed into the method and that indicated by algorithm, the length indicated in the string is used.

Parameters:
algorithm - The name of the SymmetricKey to construct, eg "DES", "TripleDES".
data - The key data.
offset - The start, or initial position, of the key data within the array.
length - The length, in bytes, of the amount of key material available to the SymmetricKey.
Returns:
A SymmetricKey object.
Throws:
NoSuchAlgorithmException - Thrown if the SymmetricKey cannot be constructed or the specified algorithm is invalid.
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

getInstance

public static SymmetricKey getInstance(String algorithm,
                                       byte[] data,
                                       int offset)
                                throws NoSuchAlgorithmException
Constructs and returns a new SymmetricKey object.

A SymmetricKeyFactory object is selected based on algorithm.

Parameters:
algorithm - The name of the SymmetricKey to construct, eg "DES", "TripleDES".
data - The key data.
offset - The start, or initial position, of the key data within the array.
Returns:
A SymmetricKey object.
Throws:
NoSuchAlgorithmException - Thrown if the SymmetricKey cannot be constructed or the specified algorithm is invalid.
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

getInstance

public static SymmetricKey getInstance(String algorithm)
                                throws NoSuchAlgorithmException
Constructs and returns a new random SymmetricKey object.

A SymmetricKeyFactory object is selected based on algorithm.

Parameters:
algorithm - The name of the SymmetricKey to construct, eg "DES", "TripleDES".
Returns:
A random SymmetricKey object.
Throws:
NoSuchAlgorithmException - Thrown if the SymmetricKey cannot be constructed or the specified algorithm is invalid.
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

register

public static void register(SymmetricKeyFactory factory)
Registers the given SymmetricKeyFactory.

If a previous call registered a SymmetricKeyFactory with the same algorithm name, then the previous SymmetricKeyFactory is forgotten.

Parameters:
factory - The factory to be registered.
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

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

getFactoryAlgorithms

protected abstract String[] getFactoryAlgorithms()
Called to determine what SymmetricKey's are supported.

Returns:
A String that represents the name of a symmetric key type.
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

create

protected abstract SymmetricKey create(String algorithm,
                                       byte[] data,
                                       int offset,
                                       int length)
                                throws NoSuchAlgorithmException
This method is called by getInstance, and performs the actual creation of the key.

Parameters:
algorithm - The algorithm used to encrypt the data.
data - The byte array containing the key data.
offset - The start, or initial position, of the data within the array.
length - The number of bytes to use for the key.
Returns:
A SymmetricKey object.
Throws:
NoSuchAlgorithmException - Thrown if the SymmetricKey cannot be constructed or the specified algorithm is invalid.
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

getDefaultKeyLength

protected abstract int getDefaultKeyLength(String algorithm)
                                    throws NoSuchAlgorithmException
This method is called by getInstance, and retrieves the default length of a key if the key length is not specified in the algorithm string. This is more applicable for variable length keys (ie. AES) than fixed length ciphers like DES.

Parameters:
algorithm - The algorithm used to determine default key length.
Returns:
An integer representing the default key length for this algorithm.
Throws:
NoSuchAlgorithmException - Thrown if the specified algorithm is invalid.
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