Implements the Diffie-Hellman key agreement algorithm.
Diffie-Hellman ( DH ) is defined in PKCS #3 and various other spots.
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.
generateSharedSecret(DHPrivateKey localPrivateKey,
DHPublicKey remotePublicKey,
boolean useCofactor)
Generates the shared secret using a given public key (from another
party) and a private key with the option of using cofactor exponentiation.
Generates the shared secret using a given public key (from another
party) and a private key with the option of using cofactor exponentiation. Note that utilizing cofactor
exponentation is an expensive operation.
Parameters:
localPrivateKey - The local private key to use.
remotePublicKey - The remote public key to use.
useCofactor - If true, a cofactor is used in the shared secret calculations. If false, it
is not used. Note that setting this value to FALSE is the most common usage.
Returns:
A byte array containing the shared secret data. Note that the value returned is the raw
shared secret. The caller can then take this byte array and feed it into any PseudoRandomSource
to create a symmetric key, etc.
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.
Since:
JDE 4.0.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.
Copyright 1999-2004 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.