Class ChunkedCipherOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.docx4j.org.apache.poi.poifs.crypt.ChunkedCipherOutputStream
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Direct Known Subclasses:
BinaryRC4Encryptor.BinaryRC4CipherOutputStream
@Internal public abstract class ChunkedCipherOutputStream extends java.io.FilterOutputStream
-
Field Summary
Fields Modifier and Type Field Description protected intchunkBitsprotected intchunkMaskprotected intchunkSizeFields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
Constructors Constructor Description ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize) -
Method Summary
Modifier and Type Method Description protected abstract voidcalculateChecksum(java.io.File fileOut, int oleStreamSize)voidclose()protected abstract voidcreateEncryptionInfoEntry(DirectoryNode dir, java.io.File tmpFile)protected abstract javax.crypto.CipherinitCipherForBlock(javax.crypto.Cipher existing, int block, boolean lastChunk)voidwrite(byte[] b)voidwrite(byte[] b, int off, int len)voidwrite(int b)protected voidwriteChunk()Methods inherited from class java.io.FilterOutputStream
flushMethods inherited from class java.io.OutputStream
nullOutputStreamMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
chunkSize
protected final int chunkSize -
chunkMask
protected final int chunkMask -
chunkBits
protected final int chunkBits
-
-
Constructor Details
-
ChunkedCipherOutputStream
public ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize) throws java.io.IOException, java.security.GeneralSecurityException- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
-
Method Details
-
initCipherForBlock
protected abstract javax.crypto.Cipher initCipherForBlock(javax.crypto.Cipher existing, int block, boolean lastChunk) throws java.security.GeneralSecurityException- Throws:
java.security.GeneralSecurityException
-
calculateChecksum
protected abstract void calculateChecksum(java.io.File fileOut, int oleStreamSize) throws java.security.GeneralSecurityException, java.io.IOException- Throws:
java.security.GeneralSecurityExceptionjava.io.IOException
-
createEncryptionInfoEntry
protected abstract void createEncryptionInfoEntry(DirectoryNode dir, java.io.File tmpFile) throws java.io.IOException, java.security.GeneralSecurityException- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
write
public void write(int b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
writeChunk
protected void writeChunk() throws java.io.IOException, java.security.GeneralSecurityException- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-