|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.crypto.ECNRSignatureSigner
Signs messages using the Elliptic Curve Nyberg-Rueppel (ECNR) signature scheme.
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 ).
For information on cryptographic algorithms, see Crypto Algorithms.
Certicom Contact Information
Phone:613-254-9258
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.
ECNRSignatureVerifier| Constructor Summary | ||
|
ECNRSignatureSigner(ECPrivateKey key)
Constructs an ECNRSignatureSigner object which uses SHA-1 to compute the signature. |
|
|
ECNRSignatureSigner(ECPrivateKey key,
Digest digest)
Constructs an ECNRSignatureSigner object which uses the given digest to compute the signature. |
|
| Method Summary | ||
|
String |
getAlgorithm()
Returns the name of this signing algorithm ("ECNR/" + digest.getAlgorithm). |
|
String |
getDigestAlgorithm()
Returns the name of the digest algorithm used, eg "SHA1", etc. |
|
int |
getRLength()
Returns the largest possible value for the size of r, which is the size of the field. |
|
int |
getSLength()
Returns the largest possible value for the size of s, which is the size of the field. |
|
void |
reset()
Reinitializes the signer, preparing it to generate another signature. |
|
void |
sign(byte[] r,
int rOffset,
byte[] s,
int sOffset)
Signs the information that has been hashed up to this point using the values of r and s. |
|
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. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public ECNRSignatureSigner(ECPrivateKey key) throws CryptoTokenException, CryptoUnsupportedOperationException
ECNRSignatureSigner object which uses SHA-1 to compute the signature.
key - The EC private key to use.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.Certicom Contact Information
Phone:613-254-9258
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.
public ECNRSignatureSigner(ECPrivateKey key, Digest digest) throws CryptoTokenException, CryptoUnsupportedOperationException
ECNRSignatureSigner object which uses the given digest to compute the signature.
NOTE: If the digest has any state information in it when it is given to the signature signer, this information will be incorparated into the signature. If you don't want this information included, call the reset method for the signature signer to delete it. A newly created digest, which no update calls have been made too, contains no state information in it by default.
key - The EC private key to use.digest - An instance of the digest algorithm to use.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.Certicom Contact Information
Phone:613-254-9258
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.
| Method Detail |
public String getAlgorithm()
SignatureSignerCerticom Contact Information
Phone:613-254-9258
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.
public String getDigestAlgorithm()
SignatureSignerCerticom Contact Information
Phone:613-254-9258
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.
public int getRLength()
The reason we return the maximum size is because r is always in the field and hence can have size less than or equal to the size of the field so we return the maximum to ensure that there is enough room to hold r. If r turns out to be smaller than the maximum it will be padded with zeroes to accomodate this fact.
Certicom Contact Information
Phone:613-254-9258
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.
public int getSLength()
The reason we return the maximum size is because s is always in the field and hence can have size less than or equal to the size of the field so we return the maximum to ensure that there is enough room to hold s. If s turns out to be smaller than the maximum it will be padded with zeroes to accomodate this fact.
Certicom Contact Information
Phone:613-254-9258
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.
public void reset()
SignatureSignerCerticom Contact Information
Phone:613-254-9258
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.
public void sign(byte[] r,
int rOffset,
byte[] s,
int sOffset)
throws CryptoTokenException,
CryptoUnsupportedOperationException
r - Represents the r parameter for the ECNR algorithm. 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.s - Represents the s parameter for the ECNR algorithm. Note that s is an element of the
finite field that the elliptic curve is defined over.sOffset - The offset, or start postion, of the signature data within
the 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.Certicom Contact Information
Phone:613-254-9258
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.
public void update(byte[] data)
SignatureSigner
SignatureSignerdata - The message data to hash.Certicom Contact Information
Phone:613-254-9258
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.
public void update(byte[] data,
int offset,
int length)
SignatureSigner
SignatureSignerdata - The message data to hash.offset - The offset, or the initial position to start reading in the data.length - How much data to read.Certicom Contact Information
Phone:613-254-9258
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.
public void update(int data)
SignatureSigner
SignatureSignerdata - The byte to be hashed.Certicom Contact Information
Phone:613-254-9258
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.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2009 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.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.