|
|||||||||
| 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 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.
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 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.
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 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 |
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 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.
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 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.
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 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.
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 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.
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 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.
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 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.
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 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.
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 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.
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 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.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2007 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.