Class CryptoAPIEncryptor
java.lang.Object
org.apache.poi.poifs.crypt.Encryptor
org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor
- All Implemented Interfaces:
GenericRecord
-
Method Summary
Modifier and TypeMethodDescriptionvoidconfirmPassword(String password) voidconfirmPassword(String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt) copy()org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor.CryptoAPICipherOutputStreamgetDataStream(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 encryptionvoidsetChunkSize(int chunkSize) Sets the chunk size of the data stream.voidsetSummaryEntries(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, getGenericProperties, getInstance, getSecretKey, setEncryptionInfo, setSecretKeyMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren, getGenericRecordType
-
Method Details
-
confirmPassword
- Specified by:
confirmPasswordin classEncryptor
-
confirmPassword
public void confirmPassword(String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt) - Specified by:
confirmPasswordin 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:EncryptorReturn a output stream for encrypted data.- Specified by:
getDataStreamin classEncryptor- Parameters:
dir- the node to write to- Returns:
- encrypted stream
- Throws:
IOException
-
getDataStream
public org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor.CryptoAPICipherOutputStream getDataStream(OutputStream stream, int initialOffset) throws IOException, GeneralSecurityException - Overrides:
getDataStreamin classEncryptor- Throws:
IOExceptionGeneralSecurityException
-
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- Throws:
IOExceptionGeneralSecurityException- See Also:
-
setChunkSize
public void setChunkSize(int chunkSize) Description copied from class:EncryptorSets 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:
setChunkSizein classEncryptor- Parameters:
chunkSize- the chunk size, i.e. the block size with the same encryption key
-
copy
-