org.cryptacular.adapter.CipherAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.saml.opensaml.integration Show documentation
Show all versions of com.liferay.saml.opensaml.integration Show documentation
Liferay SAML OpenSAML Integration
/* See LICENSE for licensing and NOTICE for copyright. */
package org.cryptacular.adapter;
import org.bouncycastle.crypto.CipherParameters;
import org.cryptacular.CryptoException;
/**
* Provides a consistent interface for cipher operations against dissimilar BC cipher types.
*
* @author Middleware Services
*/
public interface CipherAdapter
{
/**
* Initialize the underlying cipher.
*
* @param forEncryption True for encryption mode, false for decryption mode.
* @param params Cipher initialization parameters.
*
* @throws CryptoException on underlying cipher initialization errors.
*/
void init(boolean forEncryption, CipherParameters params) throws CryptoException;
/**
* Process an array of bytes, producing output if necessary.
*
* @param in Input data.
* @param inOff Offset at which the input data starts.
* @param len The number of bytes in the input data to process.
* @param out Array to receive any data produced by cipher.
* @param outOff Offset into output array.
*
* @return The number of bytes produced by the cipher.
*
* @throws CryptoException on underlying cipher data handling errors.
*/
int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws CryptoException;
/**
* Reset the cipher. After resetting the cipher is in the same state as it was after the last init (if there was one).
*/
void reset();
}