Module org.refcodes.security
Package org.refcodes.security
Interface Decrypter<DEC,ENC,EXC extends DecryptionException>
-
- Type Parameters:
ENC
- The type of the encrypted data.DEC
- The type of the decrypted data.EXC
- The specific type of theDecryptionException
being thrown.
- All Superinterfaces:
org.refcodes.mixin.Disposable
- All Known Subinterfaces:
Crypter<ENC,DEC,ENCEXC,DECEXC>
public interface Decrypter<DEC,ENC,EXC extends DecryptionException> extends org.refcodes.mixin.Disposable
Plain interface for providing straight forward decryption functionality as oftoDecrypted(Object)
and for forcing your plain functionality to provide a bridge to the Java Cryptographic Extension (JCE) framework'sCipherSpi
as oftoDecrypted(byte[], int, int, byte[], int)
. This way you can use your algorithms outside the JCE framework. This may be necessary when your Java's security settings prevent running your own JCE extensions from inside an (Oracle-) unsigned JAR.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default int
decrypt(byte[] aBuffer)
This method decrypts the provided buffer.default int
decrypt(byte[] aBuffer, int aOffset, int aLength)
This method decrypts the provided buffer beginning at the given offset and the given number of bytes.int
toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset)
For compatibility with the java.security framework, especially to be integrated in a sub-class of theCipherSpi
.DEC
toDecrypted(ENC aInput)
You pass in data of a given type and you get decrypted data of (another) given type.
-
-
-
Method Detail
-
toDecrypted
DEC toDecrypted(ENC aInput) throws EXC extends DecryptionException
You pass in data of a given type and you get decrypted data of (another) given type.- Parameters:
aInput
- The input data to be decrypted.- Returns:
- The decrypted output data.
- Throws:
EXC
- Thrown in case something went wrong upon decryption.EXC extends DecryptionException
-
toDecrypted
int toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset) throws DecryptionException
For compatibility with the java.security framework, especially to be integrated in a sub-class of theCipherSpi
.- Parameters:
aBuffer
- The input to be decrypted.aOffset
- The offset to start decryption.aLength
- The length to be decryptedaOutBuffer
- The output where to decrypt to.aOutOffset
- The offset where to start writing the decrypted output.- Returns:
- The number of bytes decrypted.
- Throws:
DecryptionException
- Thrown in case a decryption issue occurred regarding theDecrypter
. Probably the configuration of yourEncrypter
does not fit the one of theDecrypter
.ArrayIndexOutOfBoundsException
- In case you provided lengths and offsets not fitting with the provided arrays.
-
decrypt
default int decrypt(byte[] aBuffer, int aOffset, int aLength) throws DecryptionException
This method decrypts the provided buffer beginning at the given offset and the given number of bytes.- Parameters:
aBuffer
- The input to be decrypted.aOffset
- The offset to start decryption.aLength
- The length to be decrypted- Returns:
- The number of bytes decrypted.
- Throws:
DecryptionException
- Thrown in case a decryption issue occurred regarding theDecrypter
. Probably the configuration of yourEncrypter
does not fit the one of theDecrypter
.ArrayIndexOutOfBoundsException
- In case you provided lengths and offsets not fitting with the provided arrays.
-
decrypt
default int decrypt(byte[] aBuffer) throws DecryptionException
This method decrypts the provided buffer.- Parameters:
aBuffer
- The input to be decrypted.- Returns:
- The number of bytes decrypted.
- Throws:
DecryptionException
- Thrown in case a decryption issue occurred regarding theDecrypter
. Probably the configuration of yourEncrypter
does not fit the one of theDecrypter
.ArrayIndexOutOfBoundsException
- In case you provided lengths and offsets not fitting with the provided arrays.
-
-