SHOW Signed SHOW CryptoExtensionAPI

net.rim.device.api.crypto
Class SymmetricKeyFactory

java.lang.Object
  |
  +--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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

Since:
JDE 3.6.0

Constructor Summary
 Category: CryptoExtensionAPI Category: Signed protected SymmetricKeyFactory()
          Constructs a SymmetricKeyFactory object.
 
Method Summary
 Category: CryptoExtensionAPI 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: CryptoExtensionAPI 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: CryptoExtensionAPI 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: CryptoExtensionAPI 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.

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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.
Method Detail

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.
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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
Since:
JDE 3.6.0
Category:
Signed: This element is only accessible by signed clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
Since:
JDE 3.6.0
Category:
Signed: This element is only accessible by signed clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
Since:
JDE 3.6.0
Category:
Signed: This element is only accessible by signed clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.

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.
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 clients. If you intend to use this element, please contact RIM to establish the necessary agreements that will allow you to have your COD files signed. Signing is only required for use on the device, development under the JDE can occur without signing the CODs.


Copyright 1999-2007 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.