| 
|||||||||
| 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 SignatureVerifierpublic void update(int data)
SignatureVerifier
update in interface SignatureVerifierdata - The byte to be hashed.public void update(byte[] data)
SignatureVerifier
update in interface SignatureVerifierdata - A byte array containing the message data to hash.
public void update(byte[] data,
                   int offset,
                   int length)
SignatureVerifier
update in interface SignatureVerifierdata - 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 SignatureVerifierCryptoTokenException - 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