|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.poi.poifs.crypt.EncryptionInfo
public class EncryptionInfo
This class may require poi-ooxml
to be on the classpath to load
some EncryptionMode
s.
getBuilder(EncryptionMode)
Field Summary | |
---|---|
static BitField |
flagAES
A value that MUST be 1 if the protected content is an ECMA-376 document ECMA-376. |
static BitField |
flagCryptoAPI
A flag that specifies whether CryptoAPI RC4 or ECMA-376 encryption ECMA-376 is used. |
static BitField |
flagDocProps
A value that MUST be 0 if document properties are encrypted. |
static BitField |
flagExternal
A value that MUST be 1 if extensible encryption is used. |
Constructor Summary | |
---|---|
EncryptionInfo(DirectoryNode dir)
Opens for decryption |
|
EncryptionInfo(EncryptionMode encryptionMode)
Prepares for encryption, using the given Encryption Mode, and all other parameters as default. |
|
EncryptionInfo(EncryptionMode encryptionMode,
CipherAlgorithm cipherAlgorithm,
HashAlgorithm hashAlgorithm,
int keyBits,
int blockSize,
ChainingMode chainingMode)
Constructs an EncryptionInfo from scratch |
|
EncryptionInfo(LittleEndianInput dis,
EncryptionMode preferredEncryptionMode)
|
|
EncryptionInfo(NPOIFSFileSystem fs)
Opens for decryption |
|
EncryptionInfo(OPOIFSFileSystem fs)
Opens for decryption |
|
EncryptionInfo(POIFSFileSystem fs)
Opens for decryption |
Method Summary | |
---|---|
EncryptionInfo |
clone()
|
protected static EncryptionInfoBuilder |
getBuilder(EncryptionMode encryptionMode)
This method loads the builder class with reflection, which may generate a ClassNotFoundException if the class is not on the classpath. |
Decryptor |
getDecryptor()
|
int |
getEncryptionFlags()
|
EncryptionMode |
getEncryptionMode()
|
Encryptor |
getEncryptor()
|
EncryptionHeader |
getHeader()
|
EncryptionVerifier |
getVerifier()
|
int |
getVersionMajor()
|
int |
getVersionMinor()
|
boolean |
isDocPropsEncrypted()
|
void |
setDecryptor(Decryptor decryptor)
|
void |
setEncryptor(Encryptor encryptor)
|
void |
setHeader(EncryptionHeader header)
|
void |
setVerifier(EncryptionVerifier verifier)
|
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final BitField flagCryptoAPI
public static final BitField flagDocProps
public static final BitField flagExternal
public static final BitField flagAES
Constructor Detail |
---|
public EncryptionInfo(POIFSFileSystem fs) throws java.io.IOException
java.io.IOException
public EncryptionInfo(OPOIFSFileSystem fs) throws java.io.IOException
java.io.IOException
public EncryptionInfo(NPOIFSFileSystem fs) throws java.io.IOException
java.io.IOException
public EncryptionInfo(DirectoryNode dir) throws java.io.IOException
java.io.IOException
public EncryptionInfo(LittleEndianInput dis, EncryptionMode preferredEncryptionMode) throws java.io.IOException
java.io.IOException
public EncryptionInfo(EncryptionMode encryptionMode)
EncryptionInfo(EncryptionMode, CipherAlgorithm, HashAlgorithm, int, int, ChainingMode)
public EncryptionInfo(EncryptionMode encryptionMode, CipherAlgorithm cipherAlgorithm, HashAlgorithm hashAlgorithm, int keyBits, int blockSize, ChainingMode chainingMode)
encryptionMode
- see EncryptionMode
for values, EncryptionMode.cryptoAPI
is for
internal use only, as it's record basedcipherAlgorithm
- hashAlgorithm
- keyBits
- blockSize
- chainingMode
-
EncryptedDocumentException
- if the given parameters mismatch, e.g. only certain combinations
of keyBits, blockSize are allowed for a given CipherAlgorithm
Method Detail |
---|
protected static EncryptionInfoBuilder getBuilder(EncryptionMode encryptionMode) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException
ClassNotFoundException
if the class is not on the classpath.
For example, AgileEncryptionInfoBuilder
is contained in the poi-ooxml
package since the class makes use of some OOXML
classes rather than using the poi
package and plain XML DOM calls.
As such, you may need to include poi-ooxml
and poi-ooxml-schemas
to load
some encryption mode builders. See bug #60021 for more information.
https://bz.apache.org/bugzilla/show_bug.cgi?id=60021
encryptionMode
- the encryption mode
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
public int getVersionMajor()
public int getVersionMinor()
public int getEncryptionFlags()
public EncryptionHeader getHeader()
public EncryptionVerifier getVerifier()
public Decryptor getDecryptor()
public Encryptor getEncryptor()
public void setHeader(EncryptionHeader header)
public void setVerifier(EncryptionVerifier verifier)
public void setDecryptor(Decryptor decryptor)
public void setEncryptor(Encryptor encryptor)
public EncryptionMode getEncryptionMode()
public boolean isDocPropsEncrypted()
EncryptedStream
stream,
otherwise the Summaries aren't encrypted and located in their usual streamspublic EncryptionInfo clone() throws java.lang.CloneNotSupportedException
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |