|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
net.rim.device.api.crypto.CryptoInputStream
net.rim.device.api.crypto.DecryptorInputStream
net.rim.device.api.crypto.StreamDecryptor
net.rim.device.api.crypto.ECIESDecryptor
public final class ECIESDecryptor
ECIESDecryptor is a class used to decrypt messages encoded with the Elliptic Curve Integrated Encryption Scheme ( ECIES ). It is described in ANSI X9.63.
Elliptic Curve cryptography is defined in various standards including P1363 and ANSI X9.62.
ECIESEncryptor
Field Summary |
---|
Fields inherited from class net.rim.device.api.crypto.CryptoInputStream |
---|
_inputStream |
Constructor Summary | ||
---|---|---|
|
ECIESDecryptor(InputStream input,
ECPrivateKey recipientPrivateKey)
Creates an ECIESDecryptor class. |
|
|
ECIESDecryptor(InputStream input,
ECPrivateKey recipientPrivateKey,
String macAlgorithm,
int macKeyLength,
byte[] additionalMACInfo,
int macLength,
byte[] additionalKDFInfo,
Digest kdfDigest,
boolean useCofactor)
Creates an ECIESDecryptor class. |
Method Summary | ||
---|---|---|
|
protected void |
decrypt(byte[] data,
int dataOffset,
int dataLength)
Decrypts data according to the specific implementation of the chosen stream cipher. |
|
String |
getAlgorithm()
Returns the name of this algorithm, namely "ECIES/" + macAlgorithm . |
|
boolean |
verify()
|
Methods inherited from class net.rim.device.api.crypto.StreamDecryptor |
---|
read |
Methods inherited from class net.rim.device.api.crypto.CryptoInputStream |
---|
available, close, getInputStream, markSupported, read, read |
Methods inherited from class java.io.InputStream |
---|
mark, reset, skip |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ECIESDecryptor(InputStream input, ECPrivateKey recipientPrivateKey) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidKeyException, InvalidCryptoSystemException, IOException, NoSuchAlgorithmException
input
- The input stream to read fromrecipientPrivateKey
- The private key of the person this message was for
CryptoTokenException
- Thrown if a crypto token error occurs.
CryptoUnsupportedOperationException
- Thrown if the attempted operation is not supported.
InvalidKeyException
- Thrown if there is a problem with the ephemeral key read from the stream.
InvalidCryptoSystemException
- Thrown if the crypto system has a problem with it.
IOException
- Thrown if there is a problem writing to the output stream
NoSuchAlgorithmException
- Thrown if the mac algorithm is not supportedpublic ECIESDecryptor(InputStream input, ECPrivateKey recipientPrivateKey, String macAlgorithm, int macKeyLength, byte[] additionalMACInfo, int macLength, byte[] additionalKDFInfo, Digest kdfDigest, boolean useCofactor) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidKeyException, InvalidCryptoSystemException, IOException, NoSuchAlgorithmException
input
- The input stream to read fromrecipientPrivateKey
- The private key of the person this message was formacAlgorithm
- The MAC algorithm to use. If null, then "HMAC/SHA1" is used.macKeyLength
- The length of the MAC key to use.additionalMACInfo
- Additional mac information to provided to the MAC.macLength
- The length of the MAC to use.additionalKDFInfo
- Additional shared information to provide to the KDFkdfDigest
- Specifies the digest to use in the KDF. If null, then SHA1 is used.useCofactor
- If this true, a the elliptic curve's cofactor is used in the calculations.
If false, the cofactor is not used. Note, setting this value to TRUE is the most common usage.
CryptoTokenException
- Thrown if a crypto token error occurs.
CryptoUnsupportedOperationException
- Thrown if the attempted operation is not supported.
InvalidKeyException
- Thrown if there is a problem with the ephemeral key read from the stream.
InvalidCryptoSystemException
- Thrown if the crypto system has a problem with it.
IOException
- Thrown if there is a problem writing to the output stream
NoSuchAlgorithmException
- Thrown if the mac algorithm is not supportedMethod Detail |
---|
public String getAlgorithm()
"ECIES/" + macAlgorithm
.
getAlgorithm
in class CryptoInputStream
protected void decrypt(byte[] data, int dataOffset, int dataLength) throws CryptoTokenException
StreamDecryptor
decrypt
in class StreamDecryptor
data
- A byte array containing the input to the stream cipher.dataOffset
- The offset, or initial position within the array, of the information to decrypt.dataLength
- The length, in bytes, of the information to decrypt.
CryptoTokenException
- Thrown when an error occurs with the crypto
token or the crypto token is invalid.public boolean verify() throws CryptoTokenException
CryptoTokenException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2010 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. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.