This abstract class defines the
service-provider interface for Cipher. A
cryptographic provider must implement a concrete subclass of this
class for each encryption algorithm it supports. A provider can
implement a separate class for each combination of algorithm, mode,
and padding scheme it supports or implement more general classes and
leave the mode and/or padding scheme to be specified in calls to
engineSetMode( ) and engineSetPadding(
). Applications never need to use or subclass this class.
public abstract class
CipherSpi {
// Public Constructors
public
CipherSpi ( );
// Protected Instance Methods
5.0 protected int
engineDoFinal (java.nio.ByteBuffer
input , java.nio.ByteBuffer
output )
throws ShortBufferException, IllegalBlockSizeException, BadPaddingException;
protected abstract byte[ ]
engineDoFinal (byte[ ]
input , int
inputOffset , int
inputLen )
throws IllegalBlockSizeException, BadPaddingException;
protected abstract int
engineDoFinal (byte[ ]
input , int
inputOffset , int
inputLen ,
byte[ ]
output , int
outputOffset )
throws ShortBufferException, IllegalBlockSizeException, BadPaddingException;
protected abstract int
engineGetBlockSize ( );
protected abstract byte[ ]
engineGetIV ( );
protected int
engineGetKeySize (java.security.Key
key )
throws java.security.InvalidKeyException;
protected abstract int
engineGetOutputSize (int
inputLen );
protected abstract java.security.AlgorithmParameters
engineGetParameters ( );
protected abstract void
engineInit (int
opmode , java.security.Key
key ,
java.security.SecureRandom
random )
throws java.security.InvalidKeyException;
protected abstract void
engineInit (int
opmode , java.security.Key
key ,
java.security.AlgorithmParameters
params ,
java.security.SecureRandom
random )
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException;
protected abstract void
engineInit (int
opmode , java.security.Key
key ,
java.security.spec.AlgorithmParameterSpec
params ,
java.security.SecureRandom
rando m )
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException;
protected abstract void
engineSetMode (String
mode )
throws java.security.NoSuchAlgorithmException;
protected abstract void
engineSetPadding (String
padding ) throws NoSuchPaddingException;
protected java.security.Key
engineUnwrap (byte[ ]
wrappedKey , String
wrappedKeyAlgorithm ,
int
wrappedKeyType )
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException;
5.0 protected int
engineUpdate (java.nio.ByteBuffer
input , java.nio.ByteBuffer
output )
throws ShortBufferException;
protected abstract byte[ ]
engineUpdate (byte[ ]
input , int
inputOffset , int
inputLen );
protected abstract int
engineUpdate (byte[ ]
input , int
inputOffset , int
inputLen ,
byte[ ]
output , int
outputOffset )
throws ShortBufferException;
protected byte[ ]
engineWrap (java.security.Key
key )
throws IllegalBlockSizeException, java.security.InvalidKeyException;
}