net.rim.device.api.crypto
Class DHCryptoToken

java.lang.Object
  extended by net.rim.device.api.crypto.DHCryptoToken
All Implemented Interfaces:
AsymmetricCryptoToken, CryptoToken, Persistable, Persistable

public abstract class DHCryptoToken
extends Object
implements AsymmetricCryptoToken

An interface for DH cryptographic tokens to implement.

Note: This class must be extended in order to override the default implementation.

Note: It is considered good practice to implement the equals and hashCode methods when extending this class. Otherwise, odd behaviour can occur.

Details on implementing for smart cards.

See Also:
DHCryptoSystem, DHPublicKey, DHPrivateKey
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

Field Summary
 
Fields inherited from interface net.rim.device.api.crypto.AsymmetricCryptoToken
KEY_GENERATION, PRIVATE_KEY_OPERATION, PUBLIC_KEY_OPERATION
 
Constructor Summary
Category: Certicom Category: Signed protected DHCryptoToken()
          Creates a new DHCryptoToken object.
 
Method Summary
Category: Certicom Category: Signed  DHKeyPair createDHKeyPair(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns a DH key pair.
Category: Certicom Category: Signed  void deleteDHPrivateKey(CryptoTokenPrivateKeyData data)
          Delete the specified key on the crypto token.
Category: Certicom Category: Signed  void deleteDHPublicKey(CryptoTokenPublicKeyData data)
          Delete the specified key on the crypto token.
Category: Certicom Category: Signed  byte[] extractDHPrivateKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
          Returns the private key data.
Category: Certicom Category: Signed  byte[] extractDHPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
          Returns the public key data.
Category: Certicom Category: Signed  byte[] extractDHPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData)
          Returns the public key data.
Category: Certicom Category: Signed  byte[] generateDHSharedSecret(CryptoTokenCryptoSystemData cryptoSystemData, CryptoTokenPrivateKeyData localPrivateKeyData, byte[] remotePublicKeyData, boolean useCofactor)
          Generates the shared secret using a given public key (from another party) and a private key.
Category: Certicom Category: Signed  String getAlgorithm()
          Returns the algorithm supported by this token, ie "DH".
Category: Certicom Category: Signed  int getDHCryptoSystemBitLength(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the number of bits (aka the "strength") of the crypto system, eg 1024.
Category: Certicom Category: Signed  CryptoTokenCryptoSystemData getDHCryptoSystemData(byte[] p, byte[] q, byte[] g, int privateKeyMinRandomBits, String name)
          Creates a crypto system associated with this token.
Category: Certicom Category: Signed  byte[] getDHCryptoSystemG(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the g domain parameter.
Category: Certicom Category: Signed  String getDHCryptoSystemName(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns a String that indicates the set of parameters in use, eg "WTLS1", or null.
Category: Certicom Category: Signed  byte[] getDHCryptoSystemP(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the p domain parameter.
Category: Certicom Category: Signed  byte[] getDHCryptoSystemQ(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the q domain parameter, or null.
Category: Certicom Category: Signed  int getDHPrivateKeyLength(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the length of the private key.
Category: Certicom Category: Signed  int getDHPrivateKeyMinRandomBits(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the minimum number of private key random bits.
Category: Certicom Category: Signed  int getDHPublicKeyLength(CryptoTokenCryptoSystemData cryptoTokenData)
          Returns the length of the public key.
Category: Certicom Category: Signed  DHCryptoSystem[] getSuggestedDHCryptoSystems()
          Returns a list of supported or suggested crypto systems.
Category: Certicom Category: Signed  CryptoTokenPrivateKeyData injectDHPrivateKey(CryptoTokenCryptoSystemData cryptoSystemData, byte[] data)
          Inserts the raw private key data into the crypto token.
Category: Certicom Category: Signed  CryptoTokenPublicKeyData injectDHPublicKey(CryptoTokenCryptoSystemData cryptoSystemData, byte[] data)
          Inserts the raw public key data into the crypto token.
Category: Certicom Category: Signed  boolean isSupported(CryptoSystem cryptoSystem, int operation)
          Indicates whether the chosen operation is supported by this CryptoToken using the provided CryptoSytem.
Category: Certicom Category: Signed  boolean providesUserAuthentication()
          Returns true if the token provides its own user authentication checks, eg a smartcard will prompt for a password before allowing access to the keys.
Category: Certicom Category: Signed  void verifyDHCryptoSystemData(CryptoTokenCryptoSystemData cryptoSystemData)
          Checks the validity of the crypto system parameters represented by this token.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

DHCryptoToken

protected DHCryptoToken()
Creates a new DHCryptoToken object.

This constructor is not used.

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 final String getAlgorithm()
Returns the algorithm supported by this token, ie "DH".

This method will always return the String "DH".

Specified by:
getAlgorithm in interface CryptoToken
Returns:
A String representing 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

providesUserAuthentication

public boolean providesUserAuthentication()
Returns true if the token provides its own user authentication checks, eg a smartcard will prompt for a password before allowing access to the keys. This default implementation returns false.

Specified by:
providesUserAuthentication in interface CryptoToken
Returns:
true if the user will be authenticated by the token itself.
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

getDHCryptoSystemBitLength

public int getDHCryptoSystemBitLength(CryptoTokenCryptoSystemData cryptoTokenData)
                               throws CryptoTokenException,
                                      CryptoUnsupportedOperationException
Returns the number of bits (aka the "strength") of the crypto system, eg 1024.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
An integer representing the bit length of the system.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHCryptoSystemName

public String getDHCryptoSystemName(CryptoTokenCryptoSystemData cryptoTokenData)
                             throws CryptoTokenException,
                                    CryptoUnsupportedOperationException
Returns a String that indicates the set of parameters in use, eg "WTLS1", or null.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A String representing the name of the crypto system.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHCryptoSystemP

public byte[] getDHCryptoSystemP(CryptoTokenCryptoSystemData cryptoTokenData)
                          throws CryptoTokenException,
                                 CryptoUnsupportedOperationException
Returns the p domain parameter.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the domain parameter, p.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHCryptoSystemQ

public byte[] getDHCryptoSystemQ(CryptoTokenCryptoSystemData cryptoTokenData)
                          throws CryptoTokenException,
                                 CryptoUnsupportedOperationException
Returns the q domain parameter, or null. This function must be implemented if getDHCryptoSystemP() is implemented.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the domain parameter, q.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHCryptoSystemG

public byte[] getDHCryptoSystemG(CryptoTokenCryptoSystemData cryptoTokenData)
                          throws CryptoTokenException,
                                 CryptoUnsupportedOperationException
Returns the g domain parameter.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the domain parameter, g.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHPublicKeyLength

public int getDHPublicKeyLength(CryptoTokenCryptoSystemData cryptoTokenData)
                         throws CryptoTokenException,
                                CryptoUnsupportedOperationException
Returns the length of the public key.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
An integer representing the length of the public key.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHPrivateKeyLength

public int getDHPrivateKeyLength(CryptoTokenCryptoSystemData cryptoTokenData)
                          throws CryptoTokenException,
                                 CryptoUnsupportedOperationException
Returns the length of the private key.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
An integer representing the length of the key.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHPrivateKeyMinRandomBits

public int getDHPrivateKeyMinRandomBits(CryptoTokenCryptoSystemData cryptoTokenData)
                                 throws CryptoTokenException,
                                        CryptoUnsupportedOperationException
Returns the minimum number of private key random bits.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
An integer representing the minimum number of random bits in the private key.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

extractDHPublicKeyData

public byte[] extractDHPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData)
                              throws CryptoTokenException,
                                     CryptoUnsupportedOperationException
Returns the public key data.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the public key data.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

extractDHPublicKeyData

public byte[] extractDHPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
                              throws CryptoTokenException,
                                     CryptoUnsupportedOperationException
Returns the public key data.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the public key data.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

extractDHPrivateKeyData

public byte[] extractDHPrivateKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
                               throws CryptoTokenException,
                                      CryptoUnsupportedOperationException
Returns the private key data.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
A byte array containing the private key data.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

getDHCryptoSystemData

public CryptoTokenCryptoSystemData getDHCryptoSystemData(byte[] p,
                                                         byte[] q,
                                                         byte[] g,
                                                         int privateKeyMinRandomBits,
                                                         String name)
                                                  throws CryptoTokenException,
                                                         CryptoUnsupportedOperationException,
                                                         InvalidCryptoSystemException,
                                                         UnsupportedCryptoSystemException
Creates a crypto system associated with this token.

Parameters:
p - A byte array containing the domain parameter p.
q - A byte array containing the domain parameter q.
g - A byte array containing the domain parameter g.
privateKeyMinRandomBits - An integer representing the minimum number of random bits in the private key.
name - A String representing the name of the crypto system.
Returns:
The data associated with the crypto token.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
InvalidCryptoSystemException - Thrown if any or both of the specified keys are invalid.
UnsupportedCryptoSystemException - Thrown if the specified crypto system is invalid.
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

verifyDHCryptoSystemData

public void verifyDHCryptoSystemData(CryptoTokenCryptoSystemData cryptoSystemData)
                              throws CryptoTokenException,
                                     CryptoUnsupportedOperationException,
                                     InvalidCryptoSystemException
Checks the validity of the crypto system parameters represented by this token.

This method is called by DHCryptoSystem.verify() after it has gone through the integrity tests for the DHCryptoSystem.

Parameters:
cryptoSystemData - The data associated with the crypto system.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
InvalidCryptoSystemException - Thrown if the specified crypto system is invalid.
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

getSuggestedDHCryptoSystems

public DHCryptoSystem[] getSuggestedDHCryptoSystems()
                                             throws CryptoTokenException,
                                                    CryptoUnsupportedOperationException
Returns a list of supported or suggested crypto systems.

This list does not have to be exhaustive.

Returns:
An array containing the crypto system names.
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

createDHKeyPair

public DHKeyPair createDHKeyPair(CryptoTokenCryptoSystemData cryptoTokenData)
                          throws CryptoTokenException,
                                 CryptoUnsupportedOperationException
Returns a DH key pair.

Parameters:
cryptoTokenData - The data associated with the crypto token.
Returns:
The DH key pair.
Throws:
CryptoTokenException - Thrown if there was an error communicating with the token.
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

injectDHPublicKey

public CryptoTokenPublicKeyData injectDHPublicKey(CryptoTokenCryptoSystemData cryptoSystemData,
                                                  byte[] data)
                                           throws InvalidKeyException,
                                                  CryptoTokenException,
                                                  CryptoUnsupportedOperationException
Inserts the raw public key data into the crypto token.

Parameters:
cryptoSystemData - The data associated with the crypto token.
data - A byte array containing the key data.
Returns:
The public key data.
Throws:
InvalidKeyException - Thrown if the specified key is invalid.
CryptoTokenException - Thrown if there was an error communicating with the token.
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

injectDHPrivateKey

public CryptoTokenPrivateKeyData injectDHPrivateKey(CryptoTokenCryptoSystemData cryptoSystemData,
                                                    byte[] data)
                                             throws InvalidKeyException,
                                                    CryptoTokenException,
                                                    CryptoUnsupportedOperationException
Inserts the raw private key data into the crypto token.

Parameters:
cryptoSystemData - The data associated with the crypto token.
data - A byte array containing the key data.
Returns:
The private key data.
Throws:
InvalidKeyException - Thrown if the specified key is invalid.
CryptoTokenException - Thrown if there was an error communicating with the token.
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

deleteDHPublicKey

public void deleteDHPublicKey(CryptoTokenPublicKeyData data)
                       throws CryptoTokenException,
                              CryptoUnsupportedOperationException
Delete the specified key on the crypto token.

Parameters:
data - The key data contained within the token.
Throws:
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.
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

deleteDHPrivateKey

public void deleteDHPrivateKey(CryptoTokenPrivateKeyData data)
                        throws CryptoTokenException,
                               CryptoUnsupportedOperationException
Delete the specified key on the crypto token.

Parameters:
data - The key data contained within the token.
Throws:
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.
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

generateDHSharedSecret

public byte[] generateDHSharedSecret(CryptoTokenCryptoSystemData cryptoSystemData,
                                     CryptoTokenPrivateKeyData localPrivateKeyData,
                                     byte[] remotePublicKeyData,
                                     boolean useCofactor)
                              throws InvalidCryptoSystemException,
                                     CryptoTokenException,
                                     CryptoUnsupportedOperationException,
                                     InvalidKeyException
Generates the shared secret using a given public key (from another party) and a private key.

Parameters:
cryptoSystemData - The data associated with the crypto token.
localPrivateKeyData - The local private key to use.
remotePublicKeyData - The remote public key to use.
useCofactor - A boolean that determines whether to use cofactor or not.
Returns:
A byte array containing the shared secret.
Throws:
InvalidCryptoSystemException - Thrown if any or both of the specified keys are invalid.
CryptoTokenException - Thrown if there was an error communicating with the token.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
InvalidKeyException - Thrown if the calculated shared secret is not contained within the expected subgroup. This may be thrown if a small subgroup attack is detected.
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

isSupported

public boolean isSupported(CryptoSystem cryptoSystem,
                           int operation)
Indicates whether the chosen operation is supported by this CryptoToken using the provided CryptoSytem.

Specified by:
isSupported in interface AsymmetricCryptoToken
Parameters:
cryptoSystem - The CryptoSystem to check against.
operation - An integer, either KEY_GENERATION, PUBLIC_KEY_OPERATION, PRIVATE_KEY_OPERATION, or some other value specific to the cryptosystem that indicates the operation to be checked.
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.