|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.ECNRSignatureVerifier
public final class ECNRSignatureVerifier
Verifies an Elliptic Curve Nyberg-Rueppel (ECNR) signature on a message.
Elliptic Curve cryptography is defined in various standards including P1363 and ANSI X9.42. ECNR is defined in P1363 ( we implemented the version from the draft 13 document ).
ECNRSignatureSigner
Constructor Summary | ||
---|---|---|
|
ECNRSignatureVerifier(ECPublicKey key,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Constructs an ECNRSignatureVerifier object using SHA-1 for the digest. |
|
|
ECNRSignatureVerifier(ECPublicKey key,
Digest digest,
byte[] r,
int rOffset,
byte[] s,
int sOffset)
Constructs an ECNRSignatureVerifier object using a specified
digest. |
Method Summary | ||
---|---|---|
|
String |
getAlgorithm()
Returns the name of the signing algorithm used, ie "ECNR/" + Digest.getAlgorithm() . |
|
void |
update(byte[] data)
Adds additional message data to the signature. |
|
void |
update(byte[] data,
int offset,
int length)
Adds additional message data to the signature. |
|
void |
update(int data)
Adds additional message data to the signature. |
|
boolean |
verify()
Returns true if the signature is valid, false otherwise. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ECNRSignatureVerifier(ECPublicKey key, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidSignatureEncodingException
ECNRSignatureVerifier
object using SHA-1 for the digest.
NOTE: Also, if r
and s
point to the same buffer, then it is assumed
that the length of r and the length of s are both exactly the length of the private key.
key
- The public key to use to verify the signature.r
- The array containing the r part of the signature to verify. 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 signature data within the r array.s
- The array containing the s part of the signature to verify. Note that s is an element
of the finite field that the elliptic curve is defined over.sOffset
- The offset, or start position, of the signature data
within the s array.
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.
InvalidSignatureEncodingException
public ECNRSignatureVerifier(ECPublicKey key, Digest digest, byte[] r, int rOffset, byte[] s, int sOffset) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidSignatureEncodingException
ECNRSignatureVerifier
object using a specified
digest.
NOTE: If the digest has any state information in it when it is given to the signature verifier, this information will be incorporated into the signature.
A newly created digest, which no update call has been made to, contains no state information in it by default.
NOTE: Also, if r
and s
point to the same buffer, then it is assumed
that the length of r and the length of s are both exactly the length of the private key.
key
- The public key used to verify the signature.digest
- The digest used for verification.r
- The array containing the r part of the signature to verify. 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 signature data within the r array.s
- The array containing the s part of the signature to verify. Note that s is an element
of the finite field that the elliptic curve is defined over.sOffset
- The offset, or start position, of the signature data
within the s array.
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.
InvalidSignatureEncodingException
Method Detail |
---|
public String getAlgorithm()
"ECNR/" + Digest.getAlgorithm()
.
getAlgorithm
in interface SignatureVerifier
public void update(int data)
SignatureVerifier
update
in interface SignatureVerifier
data
- The byte to be hashed.public void update(byte[] data)
SignatureVerifier
update
in interface SignatureVerifier
data
- A byte array containing the message data to hash.public void update(byte[] data, int offset, int length)
SignatureVerifier
update
in interface SignatureVerifier
data
- The message data to hash.offset
- The offset, or initial position to start reading in the data.length
- The amount of data to read.public boolean verify() throws CryptoTokenException, CryptoUnsupportedOperationException
SignatureVerifier
verify
in interface SignatureVerifier
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.
|
|||||||||
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