de.schlichtherle.crypto.io.raes
Class RaesOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
de.schlichtherle.crypto.io.CipherOutputStream
de.schlichtherle.crypto.io.raes.RaesOutputStream
- All Implemented Interfaces:
- Closeable, Flushable
- Direct Known Subclasses:
- Type0RaesOutputStream
public abstract class RaesOutputStream
- extends CipherOutputStream
An OutputStream to produce a file with data ecnrypted according
to the Random Access Encryption Specification (RAES).
- Since:
- TrueZIP 6.0
- Version:
- $Id: RaesOutputStream.java 06f3ba684701 2010/11/04 01:15:55 christian $
- Author:
- Christian Schlichtherle
- See Also:
RaesReadOnlyFile
|
Method Summary |
static RaesOutputStream |
getInstance(OutputStream out,
RaesParameters parameters)
Creates a new instance of RaesOutputStream. |
abstract int |
getKeySizeBits()
Returns the key size in bits which is actually used to encrypt or
decrypt the data for this output stream. |
(package private) static void |
klac(Mac klac,
long length,
byte[] buf)
Update the given KLAC with the given file length in
little endian order and finalize it, writing the result to buf. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RaesOutputStream
RaesOutputStream(OutputStream out,
BufferedBlockCipher cipher)
klac
static void klac(Mac klac,
long length,
byte[] buf)
- Update the given KLAC with the given file
length in
little endian order and finalize it, writing the result to buf.
The KLAC must already have been initialized and updated with the
password bytes as retrieved according to PKCS #12.
The result is stored in buf, which must match the given
KLAC's output size.
getInstance
public static RaesOutputStream getInstance(OutputStream out,
RaesParameters parameters)
throws NullPointerException,
IllegalArgumentException,
RaesParametersException,
IOException
- Creates a new instance of
RaesOutputStream.
- Parameters:
out - The underlying output stream to use for the encrypted data.parameters - The RaesParameters used to determine and
configure the type of RAES file created.
If the run time class of this parameter matches multiple
parameter interfaces, it is at the discretion of this
implementation which one is picked and hence which type of
RAES file is created.
If you need more control over this, pass in an instance which's
run time class just implements the
RaesParametersAgent interface.
Instances of this interface are recursively used to find RAES
parameters which match a known RAES type.
- Throws:
NullPointerException - If FilterOutputStream.out is null
or parameters is null.
IllegalArgumentException - If an illegal keyStrength is provided
in the parameters.
RaesParametersException - If no suitable RAES parameters have been
provided or something is wrong with the parameters.
IOException - On any other I/O related issue.
getKeySizeBits
public abstract int getKeySizeBits()
- Returns the key size in bits which is actually used to encrypt or
decrypt the data for this output stream.
Copyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.