|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.PKCS5UnformatterEngine
public final class PKCS5UnformatterEngine
Provides the PKCS#5 padding scheme. The scheme pads the plaintext to the size of the block length and uses the number of bytes used for this padding as the actual byte to pad with. That is, if there are two bytes that needed to be padded out to get the correct block length then the two bytes used for padding would be 0x02.
We implemented the PKCS5 formatting as per PKCS #5 version 2.0 ( March 1999 ).
For a code sample using the PKCS5 unformatter engine, click here.
PKCS5FormatterEngine
Constructor Summary | ||
---|---|---|
|
PKCS5UnformatterEngine(BlockDecryptorEngine decryptorEngine)
Creates a PKCS5UnformatterEngine object using a given SymmetricKeyDecryptorEngine
for decrypting the plaintext. |
Method Summary | ||
---|---|---|
|
int |
decryptAndUnformat(byte[] input,
int inputOffset,
byte[] output,
int outputOffset)
Decrypts the input and then "unformats" it into the original plaintext assuming this block is not the last block in the stream. |
|
int |
decryptAndUnformat(byte[] input,
int inputOffset,
byte[] output,
int outputOffset,
boolean lastBlock)
Decrypts the input and then "unformats" it into the original plaintext. |
|
String |
getAlgorithm()
Returns the name of the algorithm used, ie SymmetricKeyDecryptorEngine.getAlgorithm() + "/PKCS5" . |
|
int |
getInputBlockLength()
Returns the length of an input block in bytes. |
|
int |
getOutputBlockLength()
Returns the length of an output block in bytes. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PKCS5UnformatterEngine(BlockDecryptorEngine decryptorEngine)
PKCS5UnformatterEngine
object using a given SymmetricKeyDecryptorEngine
for decrypting the plaintext.
decryptorEngine
- The engine that will be used to decrypt the data.Method Detail |
---|
public String getAlgorithm()
SymmetricKeyDecryptorEngine.getAlgorithm() + "/PKCS5"
.
getAlgorithm
in interface BlockUnformatterEngine
public int getInputBlockLength()
BlockUnformatterEngine
getInputBlockLength
in interface BlockUnformatterEngine
public int getOutputBlockLength()
BlockUnformatterEngine
getOutputBlockLength
in interface BlockUnformatterEngine
public int decryptAndUnformat(byte[] input, int inputOffset, byte[] output, int outputOffset, boolean lastBlock) throws DecodeException, BadPaddingException, CryptoTokenException
BlockUnformatterEngine
decryptAndUnformat
in interface BlockUnformatterEngine
input
- A byte array containing the encoded ciphertext.inputOffset
- The offset, or initial bit position, of the data within the byte array.output
- The byte array that will contain the plaintext.outputOffset
- The offset, or initial bit position, of the data
within the byte array.lastBlock
- A boolean flag indicating whether this is the last block in the
stream to be decrypted.
DecodeException
- Thrown if the input cannot be decoded properly.
BadPaddingException
- Thrown if the input has improper padding.
CryptoTokenException
- Thrown when a problem occurs with a crypto token or the crypto token is invalid.public int decryptAndUnformat(byte[] input, int inputOffset, byte[] output, int outputOffset) throws DecodeException, BadPaddingException, CryptoTokenException
BlockUnformatterEngine
decryptAndUnformat
in interface BlockUnformatterEngine
input
- A byte array containing the encoded ciphertext.inputOffset
- The offset, or initial bit position, of the data within the byte array.output
- The byte array that will contain the plaintext.outputOffset
- The offset, or initial bit position, of the data within the byte array.
DecodeException
- Thrown if the input cannot be decoded properly.
BadPaddingException
- Thrown if the input has improper padding.
CryptoTokenException
- Thrown when a problem occurs with a crypto token or the crypto token is invalid.
|
|||||||||
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