net.rim.device.api.crypto
Class KEAKeyAgreement

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

public final class KEAKeyAgreement
extends Object

The KEAKeyAgreement class implements the key exchange algorithm (KEA).

A description of the KEA algorithm can be found at KEA.

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 Summary
Category: Signed static byte[] generateSharedSecret(KEAPrivateKey localStaticPrivateKey, KEAPrivateKey localEphemeralPrivateKey, KEAPublicKey remoteStaticPublicKey, KEAPublicKey remoteEphemeralPublicKey)
          Generates the shared secret using given local and remote, public and private keys.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Method Detail

generateSharedSecret

public static byte[] generateSharedSecret(KEAPrivateKey localStaticPrivateKey,
                                          KEAPrivateKey localEphemeralPrivateKey,
                                          KEAPublicKey remoteStaticPublicKey,
                                          KEAPublicKey remoteEphemeralPublicKey)
                                   throws CryptoTokenException,
                                          CryptoUnsupportedOperationException,
                                          InvalidCryptoSystemException,
                                          InvalidKeyException
Generates the shared secret using given local and remote, public and private keys.

Parameters:
localStaticPrivateKey - The local static private key to use.
localEphemeralPrivateKey - The local ephemeral private key to use.
remoteStaticPublicKey - The remote static public key to use.
remoteEphemeralPublicKey - The remote ephemeral public key to use.
Returns:
A byte array containing the shared secret data.
Throws:
CryptoTokenException - Thrown if an error occurs with a crypto token of the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
InvalidCryptoSystemException - Thrown if the specified crypto system is invalid.
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:
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.