net.rim.device.api.crypto
Class ECPublicKey
java.lang.Object
net.rim.device.api.crypto.ECPublicKey
- All Implemented Interfaces:
- ECKey, Key, PublicKey, Persistable, Persistable
public final class ECPublicKey
- extends Object
- implements PublicKey, ECKey, Persistable
Represents a public key in an Elliptic Curve (EC) system.
Elliptic Curve cryptography is defined in various standards including P1363 and ANSI X9.62.
- See Also:
ECCryptoSystem,
ECPrivateKey- 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
|
Constructor Summary |
|
ECPublicKey(ECCryptoSystem cryptoSystem,
byte[] data)
Constructs an ECPublicKey object, representing an Elliptic Curve public key, under the given crypto system
using the specified data as the public key's mathematical representation. |
|
ECPublicKey(ECCryptoSystem cryptoSystem,
CryptoTokenPublicKeyData cryptoTokenData)
Constructs an ECPublicKey object under the given crypto system associated with the given crypto token. |
|
Method Summary |
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
|
String |
getAlgorithm()
Returns the name of the algorithm associated with this key ("EC"). |
|
CryptoSystem |
getCryptoSystem()
Returns the CryptoSystem used by this public key. |
|
CryptoTokenPublicKeyData |
getCryptoTokenData()
Returns the public key data associated with the crypto token. |
|
ECCryptoSystem |
getECCryptoSystem()
Returns a reference to the EC crypto system being used
with this instance of the private key class. |
|
byte[] |
getPublicKeyData()
Returns a copy of the public key data which is is encoded as an ANSI X9.62 ECPoint object. |
|
byte[] |
getPublicKeyData(boolean compress)
Returns a copy of the public key data, which is encoded as an ANSI X9.62 ECPoint object,
with the option to compress the data. |
|
int |
hashCode()
Returns a hash code value for the object. |
|
static boolean |
isCompressed(ECCryptoSystem cryptoSystem,
byte[] publicKeyData)
Returns true if the publicKeyData object represents a compressed
EC public key. |
|
void |
verify()
Performs certain integrity checks on the public key parameters. |
ECPublicKey
public ECPublicKey(ECCryptoSystem cryptoSystem,
byte[] data)
throws InvalidKeyException,
CryptoTokenException,
CryptoUnsupportedOperationException
- Constructs an
ECPublicKey object, representing an Elliptic Curve public key, under the given crypto system
using the specified data as the public key's mathematical representation.
- Parameters:
cryptoSystem - An ECCryptoSystem object that contains parameters for the ECC computations.data - A byte array containing the keying material that is to be used for all public key operations.
Note that this data is encoded as an ANSI X9.62 ECPoint object.
- Throws:
InvalidKeyException - Thrown if the key data is invalid.
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
ECPublicKey
public ECPublicKey(ECCryptoSystem cryptoSystem,
CryptoTokenPublicKeyData cryptoTokenData)
- Constructs an
ECPublicKey object under the given crypto system associated with the given crypto token.
- Parameters:
cryptoSystem - An ECCryptoSystem object that contains parameters for the EC computations.cryptoTokenData - The cryptographic data on the token.- 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
getAlgorithm
public String getAlgorithm()
- Returns the name of the algorithm associated with this key ("EC").
This method will always return the String "EC".
- Specified by:
getAlgorithm in interface Key
- 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
getECCryptoSystem
public ECCryptoSystem getECCryptoSystem()
- Returns a reference to the EC crypto system being used
with this instance of the private key class.
- Specified by:
getECCryptoSystem in interface ECKey
- Returns:
- The EC crypto system.
- 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
getCryptoSystem
public CryptoSystem getCryptoSystem()
- Description copied from interface:
PublicKey
- Returns the
CryptoSystem used by this public key.
- Specified by:
getCryptoSystem in interface PublicKey
- Returns:
- The crypto system.
- 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
verify
public void verify()
throws InvalidKeyException
- Description copied from interface:
PublicKey
- Performs certain integrity checks on the public key parameters. These checks are
useful to prevent certain types of attacks that involve modifying the parameters
and then using a signed message to calculate the private key parameters.
- Specified by:
verify in interface PublicKey
- Throws:
InvalidKeyException - Thrown if the specified key is invalid or
malformed.- 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
getPublicKeyData
public byte[] getPublicKeyData()
throws CryptoTokenException,
CryptoUnsupportedOperationException
- Returns a copy of the public key data which is is encoded as an ANSI X9.62 ECPoint object.
The public key data will be compressed if possible using the ANSI X9.62 format.
- Returns:
- A byte array containing the public key data.
- 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
getPublicKeyData
public byte[] getPublicKeyData(boolean compress)
throws CryptoTokenException,
CryptoUnsupportedOperationException
- Returns a copy of the public key data, which is encoded as an ANSI X9.62 ECPoint object,
with the option to compress the data. If compressed, the compression will follow the ANSI X9.62 format.
- Parameters:
compress - If true, the data will be compressed. If false, the data
will not be compressed.
- Returns:
- A byte array containing the public key data.
- 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
isCompressed
public static boolean isCompressed(ECCryptoSystem cryptoSystem,
byte[] publicKeyData)
throws CryptoTokenException,
CryptoUnsupportedOperationException
- Returns true if the
publicKeyData object represents a compressed
EC public key. The publicKeyData should be encoded as an ANSI X9.62 ECPoint object.
- Parameters:
cryptoSystem - The EC crypto system associated with the key.publicKeyData - A byte array containing the public key.
- Returns:
- A boolean that determines if the data is compressed. Returns true
if the data is compressed, false otherwise.
- 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
getCryptoTokenData
public CryptoTokenPublicKeyData getCryptoTokenData()
- Returns the public key data associated with the crypto token.
- Returns:
- The public key data associated with the crypto token.
- 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 4.1.0
hashCode
public int hashCode()
- Description copied from class:
Object
- Returns a hash code value for the object. This method is
supported for the benefit of hashtables such as those provided by
java.util.Hashtable.
The general contract of hashCode is:
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the hashCode method
must consistently return the same integer, provided no information
used in equals comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
- If two objects are equal according to the equals(Object)
method, then calling the
hashCode method on each of
the two objects must produce the same integer result.
- It is not required that if two objects are unequal
according to the
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by
class Object does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
- Overrides:
hashCode in class Object
- Returns:
- a hash code value for this object.
- See Also:
Object.equals(java.lang.Object),
Hashtable- 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
equals
public boolean equals(Object obj)
- Description copied from class:
Object
- Indicates whether some other object is "equal to" this one.
The equals method implements an equivalence relation:
- It is reflexive: for any reference value
x,
x.equals(x) should return true.
- It is symmetric: for any reference values
x and
y, x.equals(y) should return
true if and only if y.equals(x) returns
true.
- It is transitive: for any reference values
x,
y, and z, if x.equals(y)
returns true and y.equals(z) returns
true, then x.equals(z) should return
true.
- It is consistent: for any reference values
x
and y, multiple invocations of x.equals(y)
consistently return true or consistently return
false, provided no information used in
equals comparisons on the object is modified.
- For any non-null reference value
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any reference values x and y,
this method returns true if and only if x and
y refer to the same object (x==y has the
value true).
- Overrides:
equals in class Object
- Parameters:
obj - the reference object with which to compare.
- Returns:
true if this object is the same as the obj
argument; false otherwise.- See Also:
Boolean.hashCode(),
Hashtable- 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.