|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.ECCryptoToken
public abstract class ECCryptoToken
An interface for EC 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.
ECCryptoSystem
Field Summary |
---|
Fields inherited from interface net.rim.device.api.crypto.AsymmetricCryptoToken |
---|
KEY_GENERATION, PRIVATE_KEY_OPERATION, PUBLIC_KEY_OPERATION |
Constructor Summary | ||
---|---|---|
|
protected |
ECCryptoToken()
Creates a new ECCryptoToken object. |
Method Summary | ||
---|---|---|
|
ECKeyPair |
createECKeyPair(CryptoTokenCryptoSystemData cryptoTokenData)
Returns the EC key pair associated with the crypto token. |
|
void |
deleteECPrivateKey(CryptoTokenPrivateKeyData data)
Delete the specified key on the crypto token. |
|
void |
deleteECPublicKey(CryptoTokenPublicKeyData data)
Delete the specified key on the crypto token. |
|
byte[] |
extractECPrivateKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
Returns the private key data. |
|
byte[] |
extractECPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData)
Returns the public key data which is encoded as an ANSI X9.62 ECPoint object and preferably compressed. |
|
byte[] |
extractECPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData,
boolean compress)
Returns the public key data which is encoded as an ANSI X9.62 ECPoint object. |
|
byte[] |
extractECPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData)
Returns the EC public key data which is encoded as an ANSI X9.62 ECPoint object. |
|
byte[] |
extractECPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData,
boolean compress)
Returns the public key data which is encoded as an ANSI X9.62 ECPoint object. |
|
byte[] |
generateECDHSharedSecret(CryptoTokenCryptoSystemData cryptoSystemData,
CryptoTokenPrivateKeyData localPrivateKeyData,
byte[] remotePublicKeyData,
boolean useCofactor)
Generates the shared secret for elliptic curve Diffie-Hellman key agreement using a given public key (from another party) and a private key. |
|
byte[] |
generateECMQVSharedSecret(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPrivateKeyData cryptoTokenLocalStaticPrivateKeyData,
CryptoTokenPrivateKeyData cryptoTokenLocalEphemeralPrivateKeyData,
CryptoTokenPublicKeyData cryptoTokenLocalEphemeralPublicKeyData,
byte[] remoteStaticPublicKeyData,
byte[] remoteEphemeralPublicKeyData,
boolean useCofactor)
Generates the shared secret using the elliptic curve key agreement developed by Menezes, Qu, and Vanstone. |
|
String |
getAlgorithm()
Returns the algorithm supported by this token, ie "EC". |
|
byte[] |
getECCryptoSystemA(CryptoTokenCryptoSystemData cryptoTokenData)
This functions returns the "a" coefficient of this elliptic curve, defined by the equation y^2 = x^3 + ax + b ( in the F_p case ) or y^2 + xy = x^3 + ax^2 + b ( in the F_2^m case ). |
|
byte[] |
getECCryptoSystemB(CryptoTokenCryptoSystemData cryptoTokenData)
This functions returns the "b" coefficient of this elliptic curve, defined by the equation y^2 = x^3 + ax + b ( in the F_p case ) or y^2 + xy = x^3 + ax^2 + b ( in the F_2^m case ). |
|
byte[] |
getECCryptoSystemBasePoint(CryptoTokenCryptoSystemData cryptoTokenData)
This function returns the base point of this elliptic curve. |
|
int |
getECCryptoSystemBitLength(CryptoTokenCryptoSystemData cryptoTokenData)
Returns the length (in bits) of the field for this system's curve. |
|
byte[] |
getECCryptoSystemCofactor(CryptoTokenCryptoSystemData cryptoTokenData)
This functions returns the cofactor of this elliptic curve. |
|
CryptoTokenCryptoSystemData |
getECCryptoSystemData(String name)
Creates a crypto system associated with this token. |
|
int |
getECCryptoSystemFieldLength(CryptoTokenCryptoSystemData cryptoTokenData)
Returns the length (in bytes) of the field for this system's curve. |
|
byte[] |
getECCryptoSystemFieldReductor(CryptoTokenCryptoSystemData cryptoTokenData)
This functions returns the field reductor of this elliptic curve. |
|
byte[] |
getECCryptoSystemGroupOrder(CryptoTokenCryptoSystemData cryptoTokenData)
This functions returns the number of points in the group generated by the base point of this elliptic curve. |
|
String |
getECCryptoSystemName(CryptoTokenCryptoSystemData cryptoTokenData)
Returns a String that indicates the name of the elliptic curve, eg "EC163K1". |
|
int |
getECPrivateKeyLength(CryptoTokenCryptoSystemData cryptoTokenData)
Returns the length (in bytes) of the private key for this system's curve. |
|
int |
getECPublicKeyLength(CryptoTokenCryptoSystemData cryptoTokenData,
boolean compressed)
Returns the length (in bytes) of the public key for this system's curve when the public key is encoded as an ANSI X9.62 ECPoint object. |
|
ECCryptoSystem[] |
getSuggestedECCryptoSystems()
Returns a list of supported or suggested crypto systems. |
|
CryptoTokenPrivateKeyData |
injectECPrivateKey(CryptoTokenCryptoSystemData cryptoSystemData,
byte[] data)
Inserts the specified private key data onto the crypto token. |
|
CryptoTokenPublicKeyData |
injectECPublicKey(CryptoTokenCryptoSystemData cryptoSystemData,
byte[] data)
Inserts the specified public key data onto the crypto token. |
|
boolean |
isECCCryptoSystemTypePrime(CryptoTokenCryptoSystemData cryptoTokenData)
Returns true if this system's curve is a prime curve. |
|
boolean |
isSupported(CryptoSystem cryptoSystem,
int operation)
Indicates whether the chosen operation is supported by this CryptoToken using the provided CryptoSytem. |
|
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. |
|
void |
signECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData,
byte[] digest,
int digestOffset,
int digestLength,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Generates an ECDSA signature. |
|
void |
signECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData,
byte[] digest,
int digestOffset,
int digestLength,
byte[] r,
int rOffset,
byte[] s,
int sOffset,
Object context)
Generates an ECDSA signature. |
|
void |
signECNR(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData,
byte[] digest,
int digestOffset,
int digestLength,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Generates an ECNR signature. |
|
void |
verifyECCryptoSystemData(CryptoTokenCryptoSystemData cryptoSystemData)
Checks the validity of the crypto system parameters represented by this token. |
|
boolean |
verifyECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPublicKeyData cryptoTokenPublicKeyData,
byte[] digest,
int digestOffset,
int digestLength,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Verifies an ECDSA signature. |
|
boolean |
verifyECNR(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData,
CryptoTokenPublicKeyData cryptoTokenPublicKeyData,
byte[] digest,
int digestOffset,
int digestLength,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Verifies an ECNR signature. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected ECCryptoToken()
ECCryptoToken
object.
This constructor is not used.
Method Detail |
---|
public final String getAlgorithm()
This method will always return the String "EC".
getAlgorithm
in interface CryptoToken
public boolean providesUserAuthentication()
providesUserAuthentication
in interface CryptoToken
public String getECCryptoSystemName(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public int getECCryptoSystemBitLength(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public int getECCryptoSystemFieldLength(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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 operationpublic byte[] getECCryptoSystemBasePoint(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic byte[] getECCryptoSystemGroupOrder(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic byte[] getECCryptoSystemA(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic byte[] getECCryptoSystemB(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic byte[] getECCryptoSystemCofactor(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic byte[] getECCryptoSystemFieldReductor(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
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 operationpublic int getECPublicKeyLength(CryptoTokenCryptoSystemData cryptoTokenData, boolean compressed) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.compressed
- Specifies if the length returned is referring to the public
key in its compressed form, or in its uncompressed form. This compression is outlined in ANSI X9.62
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.public int getECPrivateKeyLength(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public boolean isECCCryptoSystemTypePrime(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public byte[] extractECPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
The public key should be compressed if possible.
cryptoTokenData
- The data associated with the crypto token.
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.public byte[] extractECPublicKeyData(CryptoTokenPublicKeyData cryptoTokenData, boolean compress) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.compress
- Specifies whether or no the returned data is in compressed form or not. If
this boolean is set to true, the data will be compressed, otherwise it won't be. This compression is
outlined in ANSI X9.62
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.public byte[] extractECPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public byte[] extractECPublicKeyData(CryptoTokenPrivateKeyData cryptoTokenData, boolean compress) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.compress
- Specifies if the data returned is compressed using the ANSI X9.62 format. If the boolean
is set to true, compression takes place, otherwise it is returned in uncompressed form.
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.public byte[] extractECPrivateKeyData(CryptoTokenPrivateKeyData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public ECCryptoSystem[] getSuggestedECCryptoSystems() throws CryptoTokenException, CryptoUnsupportedOperationException
This list does not have to be exhaustive.
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.public CryptoTokenCryptoSystemData getECCryptoSystemData(String name) throws CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
name
- A String that represents the name of the crypto system.
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.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public void verifyECCryptoSystemData(CryptoTokenCryptoSystemData cryptoSystemData) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidCryptoSystemException
This method is called by ECCryptoSystem.verify()
after it
has gone through the integrity tests for the ECCryptoSystem
object.
cryptoSystemData
- The crypto system data to be verified.
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.
InvalidCryptoSystemException
- Thrown if the specified crypto
system is improperly formatted or invalid.public ECKeyPair createECKeyPair(CryptoTokenCryptoSystemData cryptoTokenData) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenData
- The data associated with the crypto token.
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.public CryptoTokenPublicKeyData injectECPublicKey(CryptoTokenCryptoSystemData cryptoSystemData, byte[] data) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException
cryptoSystemData
- The crypto system data.data
- A byte array containing the key data which is encoded as an ANSI X9.62 ECPoint object.
InvalidKeyException
- Thrown if the specified key data is
improperly formatted or 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.public CryptoTokenPrivateKeyData injectECPrivateKey(CryptoTokenCryptoSystemData cryptoSystemData, byte[] data) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException
cryptoSystemData
- The crypto system data.data
- A byte array containing the key data. Note that the private key is
an element of the finite field that the elliptic curve is defined over.
InvalidKeyException
- Thrown if the specified key data is
improperly formatted or 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.public void deleteECPublicKey(CryptoTokenPublicKeyData data) throws CryptoTokenException, CryptoUnsupportedOperationException
data
- The key data contained within the token.
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.public void deleteECPrivateKey(CryptoTokenPrivateKeyData data) throws CryptoTokenException, CryptoUnsupportedOperationException
data
- The key data contained within the token.
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.public byte[] generateECDHSharedSecret(CryptoTokenCryptoSystemData cryptoSystemData, CryptoTokenPrivateKeyData localPrivateKeyData, byte[] remotePublicKeyData, boolean useCofactor) throws InvalidCryptoSystemException, CryptoTokenException, CryptoUnsupportedOperationException
cryptoSystemData
- The data associated with the crypto token.localPrivateKeyData
- The local private key data to use.remotePublicKeyData
- The public key data to use which is encoded as an ANSI X9.62 ECPoint object.useCofactor
- Determines if the cofactor will be used or not in the calculations. True
if the cofactor is used, false otherwise.
InvalidCryptoSystemException
- Thrown if the specified crypto
system 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.public void signECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData, byte[] digest, int digestOffset, int digestLength, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The data associated with the crypto
token.cryptoTokenPrivateKeyData
- The private key data associated with the
crypto token.digest
- The digest data to be signed.digestOffset
- The offset, or start position, of the digest data
within the buffer.digestLength
- The length of the digest to be signed, in bytes.r
- A buffer to hold return result of r. Note that r is an element of the finite field
that the elliptic curve is defined over.rOffset
- The offset, or start position, of the data within the buffer r.s
- A buffer to hold return result of s. Note that s is an element of the finite field
that the elliptic curve is defined over.sOffset
- The offset, or start position, to begin the writing the result s within the buffer s.
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.public void signECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData, byte[] digest, int digestOffset, int digestLength, byte[] r, int rOffset, byte[] s, int sOffset, Object context) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The data associated with the crypto
token.cryptoTokenPrivateKeyData
- The private key data associated with the
crypto token.digest
- The digest data to be signed.digestOffset
- The offset, or start position, of the digest data
within the buffer.digestLength
- The length of the digest to be signed, in bytes.r
- A buffer to hold return result of r. Note that r is an element of the finite field
that the elliptic curve is defined over.rOffset
- The offset, or start position, of the data within the buffer r.s
- A buffer to hold return result of s. Note that s is an element of the finite field
that the elliptic curve is defined over.sOffset
- The offset, or start position, to begin the writing the result s within the buffer s.context
- The context object.
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.public boolean verifyECDSA(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPublicKeyData cryptoTokenPublicKeyData, byte[] digest, int digestOffset, int digestLength, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The data associated with the crypto
token.cryptoTokenPublicKeyData
- The private key data associated with the
crypto token.digest
- The digest data to be verified.digestOffset
- The offset, or start position, of the digest data
within the buffer.digestLength
- The length of the digest to be signed, in bytes.r
- A buffer to hold return result of r. Note that r is an element of the finite field
that the elliptic curve is defined over.rOffset
- The offset, or start position, of the data within the buffer r.s
- A buffer to hold return result of s. Note that s is an element of the finite field
that the elliptic curve is defined over.sOffset
- The offset, or start position, to begin the writing the
result s within the buffer s.
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.public byte[] generateECMQVSharedSecret(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPrivateKeyData cryptoTokenLocalStaticPrivateKeyData, CryptoTokenPrivateKeyData cryptoTokenLocalEphemeralPrivateKeyData, CryptoTokenPublicKeyData cryptoTokenLocalEphemeralPublicKeyData, byte[] remoteStaticPublicKeyData, byte[] remoteEphemeralPublicKeyData, boolean useCofactor) throws InvalidCryptoSystemException, CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The crypto system data associated with
the crypto token.cryptoTokenLocalStaticPrivateKeyData
- The local private key data.cryptoTokenLocalEphemeralPrivateKeyData
- The local ephemeral
private key data.cryptoTokenLocalEphemeralPublicKeyData
- The local ephemeral public
key data.remoteStaticPublicKeyData
- The remote public key data which is encoded as an
ANSI X9.62 ECPoint object.remoteEphemeralPublicKeyData
- The remote ephemeral public key data which is encoded as an
ANSI X9.62 ECPoint object.useCofactor
- The boolean that determines if the cofactor will be
used in the calculations
InvalidCryptoSystemException
- Thrown if the specified crypto
system 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.public void signECNR(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPrivateKeyData cryptoTokenPrivateKeyData, byte[] digest, int digestOffset, int digestLength, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The crypto system data associated with
the crypto token.cryptoTokenPrivateKeyData
- The private key data.digest
- The digest data to be signed.digestOffset
- The offset in the digest buffer where digest data begins.digestLength
- The length of the digest to be signed.r
- A buffer to hold return result of r. Note that r is an element of the
finite field that the elliptic curve is defined over.rOffset
- The offset to begin the writing the result r in the buffer r.s
- A buffer to hold return result of s. Note that s is an element of the
finite field that the elliptic curve is defined over.sOffset
- The offset to begin the writing the result s in the buffer s.
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if the specified
crypto system data is invalid.public boolean verifyECNR(CryptoTokenCryptoSystemData cryptoTokenCryptoSystemData, CryptoTokenPublicKeyData cryptoTokenPublicKeyData, byte[] digest, int digestOffset, int digestLength, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException
cryptoTokenCryptoSystemData
- The crypto system data associated with
the crypto token.cryptoTokenPublicKeyData
- An EC public key.digest
- The digest data to be signed.digestOffset
- The offset in the digest buffer where digest data begins.digestLength
- The length of the digest to be signed.r
- A buffer to hold return result of r. Note that r is an element of the
finite field that the elliptic curve is defined over.rOffset
- The offset to begin the writing the result r in the buffer r.s
- A buffer to return the result of s. Note that s is an element of the
finite field that the elliptic curve is defined over.sOffset
- The offset to begin the writing the result s in the buffer
s.
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.public boolean isSupported(CryptoSystem cryptoSystem, int operation)
isSupported
in interface AsymmetricCryptoToken
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal