@Immutable public class ParanoidZipRaesDriver extends ZipRaesDriver
SafeZipRaesDriver for archive files larger than 512 KB and
may pause the client application on the first access to the archive file
for a while if the file is large.
Note that the CRC-32 value of the plain text ZIP file is never checked
because this is made redundant by the MAC verification.
In addition, this driver limits the number of concurrent entry output streams to one, so that writing unencrypted temporary files is inhibited.
SafeZipRaesDriverZipRaesDriver.KeyProviderSyncStrategyJAR_CHARSET| Constructor and Description |
|---|
ParanoidZipRaesDriver(IOPoolProvider ioPoolProvider,
KeyManagerProvider keyManagerProvider) |
| Modifier and Type | Method and Description |
|---|---|
long |
getAuthenticationTrigger()
Constructs a new abstract ZIP.RAES driver which
uses the given byte
size to trigger verification of the Message Authentication Code (MAC).
|
OutputShop<ZipArchiveEntry> |
newOutputShop(FsModel model,
OutputSocket<?> output,
InputShop<ZipArchiveEntry> source)
This implementation calls
ZipRaesDriver.getRaesParameters(de.schlichtherle.truezip.fs.FsModel), with which it
initializes a new RaesOutputStream, and finally passes the
resulting stream to ZipDriver.newZipOutputShop(de.schlichtherle.truezip.fs.FsModel, java.io.OutputStream, de.schlichtherle.truezip.fs.archive.zip.ZipInputShop). |
getKeyManager, getKeyProviderSyncStrategy, getRaesParameters, newController, newEntry, newInputShop, toMountPointResourcegetLevel, getMethod, getOutputSocket, getPool, getPostambled, getPreambled, newZipInputShop, newZipOutputShopassertEncodable, getCharset, toString, toZipOrTarEntryNamegetClosedIcon, getInputSocket, getOpenIcon, isFederated, newEntry, newInputStream, newOutputStream, newReadOnlyFilegetPrioritypublic ParanoidZipRaesDriver(IOPoolProvider ioPoolProvider, KeyManagerProvider keyManagerProvider)
public final long getAuthenticationTrigger()
ZipRaesDriverauthenticationTrigger.
If the size of an input file is smaller than or equal to this value,
the Message Authentication Code (MAC) for the entire
cipher text is computed and verified in order to authenticate
the file.
Otherwise, only the cipher key and the file length
get authenticated.
Consequently, if the value of this property is set to a negative value,
the cipher text gets never verified, and if set to
Long.MAX_VALUE, the cipher text gets always
authenticated.
getAuthenticationTrigger in class ZipRaesDriverauthenticationTrigger.public final OutputShop<ZipArchiveEntry> newOutputShop(FsModel model, OutputSocket<?> output, InputShop<ZipArchiveEntry> source) throws IOException
ZipRaesDriver.getRaesParameters(de.schlichtherle.truezip.fs.FsModel), with which it
initializes a new RaesOutputStream, and finally passes the
resulting stream to ZipDriver.newZipOutputShop(de.schlichtherle.truezip.fs.FsModel, java.io.OutputStream, de.schlichtherle.truezip.fs.archive.zip.ZipInputShop).
Note that this limits the number of concurrent output entry streams to one in order to inhibit writing unencrypted temporary files for buffering the written entries.
newOutputShop in class ZipRaesDriverIOExceptionCopyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.