org.apache.poi.poifs.crypt.agile
Class AgileDecryptor
java.lang.Object
org.apache.poi.poifs.crypt.Decryptor
org.apache.poi.poifs.crypt.agile.AgileDecryptor
- All Implemented Interfaces:
- java.lang.Cloneable
public class AgileDecryptor
- extends Decryptor
- implements java.lang.Cloneable
Decryptor implementation for Agile Encryption
Methods inherited from class org.apache.poi.poifs.crypt.Decryptor |
getBlockSizeInBytes, getDataStream, getDataStream, getDataStream, getDataStream, getEncryptionInfo, getInstance, getIntegrityHmacKey, getIntegrityHmacValue, getKeySizeInBytes, getSecretKey, getVerifier, initCipherForBlock, setChunkSize, setEncryptionInfo, setIntegrityHmacKey, setIntegrityHmacValue, setSecretKey, setVerifier |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AgileDecryptor
protected AgileDecryptor()
verifyPassword
public boolean verifyPassword(java.lang.String password)
throws java.security.GeneralSecurityException
- set decryption password
- Specified by:
verifyPassword
in class Decryptor
- Throws:
java.security.GeneralSecurityException
verifyPassword
public boolean verifyPassword(java.security.KeyPair keyPair,
java.security.cert.X509Certificate x509)
throws java.security.GeneralSecurityException
- instead of a password, it's also possible to decrypt via certificate.
Warning: this code is experimental and hasn't been validated
- Parameters:
keyPair
- x509
-
- Returns:
- true, when the data can be successfully decrypted with the given private key
- Throws:
java.security.GeneralSecurityException
- See Also:
- Agile encryption with certificates
getNextBlockSize
protected static int getNextBlockSize(int inputLen,
int blockSize)
getDataStream
public java.io.InputStream getDataStream(DirectoryNode dir)
throws java.io.IOException,
java.security.GeneralSecurityException
- Specified by:
getDataStream
in class Decryptor
- Throws:
java.io.IOException
java.security.GeneralSecurityException
getLength
public long getLength()
- Specified by:
getLength
in class Decryptor
initCipherForBlock
protected static javax.crypto.Cipher initCipherForBlock(javax.crypto.Cipher existing,
int block,
boolean lastChunk,
EncryptionInfo encryptionInfo,
javax.crypto.SecretKey skey,
int encryptionMode)
throws java.security.GeneralSecurityException
- Throws:
java.security.GeneralSecurityException
clone
public AgileDecryptor clone()
throws java.lang.CloneNotSupportedException
- Overrides:
clone
in class Decryptor
- Throws:
java.lang.CloneNotSupportedException