Class CryptoAPIEncryptor
java.lang.Object
org.apache.poi.poifs.crypt.Encryptor
org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor
- All Implemented Interfaces:
Cloneable
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.apache.poi.poifs.crypt.Encryptor
DEFAULT_POIFS_ENTRY
-
Method Summary
Modifier and TypeMethodDescriptionclone()
void
confirmPassword
(String password) void
confirmPassword
(String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt) getDataStream
(OutputStream stream, int initialOffset) Return a output stream for encrypted data.initCipherForBlock
(Cipher cipher, int block) Initializes a cipher object for a given block index for encryptionvoid
setChunkSize
(int chunkSize) Sets the chunk size of the data stream.void
setSummaryEntries
(DirectoryNode dir, String encryptedStream, POIFSFileSystem entries) Encrypt the Document-/SummaryInformation and other optionally streams.Methods inherited from class org.apache.poi.poifs.crypt.Encryptor
getDataStream, getEncryptionInfo, getInstance, getSecretKey, setEncryptionInfo, setSecretKey
-
Method Details
-
confirmPassword
- Specified by:
confirmPassword
in classEncryptor
-
confirmPassword
public void confirmPassword(String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt) - Specified by:
confirmPassword
in classEncryptor
-
initCipherForBlock
Initializes a cipher object for a given block index for encryption- Parameters:
cipher
- may be null, otherwise the given instance is reset to the new block indexblock
- the block index, e.g. the persist/slide id (hslf)- Returns:
- a new cipher object, if cipher was null, otherwise the reinitialized cipher
- Throws:
GeneralSecurityException
- when the cipher can't be initialized
-
getDataStream
Description copied from class:Encryptor
Return a output stream for encrypted data.- Specified by:
getDataStream
in classEncryptor
- Parameters:
dir
- the node to write to- Returns:
- encrypted stream
- Throws:
IOException
-
getDataStream
public CryptoAPIEncryptor.CryptoAPICipherOutputStream getDataStream(OutputStream stream, int initialOffset) throws IOException, GeneralSecurityException - Overrides:
getDataStream
in classEncryptor
- Throws:
IOException
GeneralSecurityException
-
setSummaryEntries
public void setSummaryEntries(DirectoryNode dir, String encryptedStream, POIFSFileSystem entries) throws IOException, GeneralSecurityException Encrypt the Document-/SummaryInformation and other optionally streams. Opposed to other crypto modes, cryptoapi is record based and can't be used to stream-encrypt a whole file -
setChunkSize
public void setChunkSize(int chunkSize) Description copied from class:Encryptor
Sets the chunk size of the data stream. Needs to be set before the data stream is requested. When not set, the implementation uses method specific default values- Overrides:
setChunkSize
in classEncryptor
- Parameters:
chunkSize
- the chunk size, i.e. the block size with the same encryption key
-
clone
- Overrides:
clone
in classEncryptor
- Throws:
CloneNotSupportedException
-