SHOW Signed

net.rim.device.api.crypto
Class ECDSASignatureVerifier

java.lang.Object
  |
  +--net.rim.device.api.crypto.ECDSASignatureVerifier
All Implemented Interfaces:
SignatureVerifier

public final class ECDSASignatureVerifier
extends Object
implements SignatureVerifier

Verifies an ECDSA signature on a message.

Elliptic Curve cryptography is defined in various standards including P1363 and ANSI X9.62. ECDSA is specifically defined in ANSI X9.62.

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.

See Also:
ECDSASignatureSigner

Constructor Summary
 Category: Signed ECDSASignatureVerifier(ECPublicKey key, byte[] r, int rOffset, byte[] s, int sOffset)
          Constructs an ECDSASignatureVerifier object using SHA-1 for the digest.
 Category: Signed ECDSASignatureVerifier(ECPublicKey key, Digest digest, byte[] r, int rOffset, byte[] s, int sOffset)
          Constructs an ECDSASignatureVerifier object.
 
Method Summary
 Category: Signed  String getAlgorithm()
          Returns the name of the signing algorithm used, ie "ECDSA/" + Digest.getAlgorithm().
 Category: Signed  void update(byte[] data)
          Adds additional message data to the signature.
 Category: Signed  void update(byte[] data, int offset, int length)
          Adds additional message data to the signature.
 Category: Signed  void update(int data)
          Adds additional message data to the signature.
 Category: Signed  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

ECDSASignatureVerifier

public ECDSASignatureVerifier(ECPublicKey key,
                              byte[] r,
                              int rOffset,
                              byte[] s,
                              int sOffset)
                       throws CryptoTokenException,
                              CryptoUnsupportedOperationException,
                              InvalidSignatureEncodingException
Constructs an ECDSASignatureVerifier 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.

Parameters:
key - The public key to use for verification.
r - 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 array r.
s - 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 array s.
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:
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.

ECDSASignatureVerifier

public ECDSASignatureVerifier(ECPublicKey key,
                              Digest digest,
                              byte[] r,
                              int rOffset,
                              byte[] s,
                              int sOffset)
                       throws CryptoTokenException,
                              CryptoUnsupportedOperationException,
                              InvalidSignatureEncodingException
Constructs an ECDSASignatureVerifier object.

NOTE: If the digest has any state information in it when it is given to the signature verifier, this information will be incorparated into the signature.

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.

Parameters:
key - The public key to use for verification.
digest - The digest to use for verification.
r - 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 array r.
s - 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 array s.
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:
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.
Method Detail

getAlgorithm

public String getAlgorithm()
Returns the name of the signing algorithm used, ie "ECDSA/" + Digest.getAlgorithm().

Specified by:
getAlgorithm in interface SignatureVerifier
Following copied from interface: net.rim.device.api.crypto.SignatureVerifier
Returns:
A String representing the name of the algorithm.
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.

update

public void update(int data)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Since:
JDE 3.6
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.

update

public void update(byte[] data)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Since:
JDE 3.6
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.

update

public void update(byte[] data,
                   int offset,
                   int length)
Description copied from interface: SignatureVerifier
Adds additional message data to the signature.

Specified by:
update in interface SignatureVerifier
Since:
JDE 3.6
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.

verify

public boolean verify()
               throws CryptoTokenException,
                      CryptoUnsupportedOperationException
Description copied from interface: SignatureVerifier
Returns true if the signature is valid, false otherwise.

Specified by:
verify in interface SignatureVerifier
Following copied from interface: net.rim.device.api.crypto.SignatureVerifier
Returns:
A boolean that returns true if the signature is valid, false otherwise.
Throws:
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.
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-2002 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.