public class EncryptionInfo
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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,
boolean isCryptoAPI) |
EncryptionInfo(NPOIFSFileSystem fs)
Opens for decryption
|
EncryptionInfo(OPOIFSFileSystem fs)
Opens for decryption
|
EncryptionInfo(POIFSFileSystem fs)
Opens for decryption
|
Modifier and Type | Method and Description |
---|---|
protected static EncryptionInfoBuilder |
getBuilder(EncryptionMode encryptionMode) |
Decryptor |
getDecryptor() |
int |
getEncryptionFlags() |
Encryptor |
getEncryptor() |
EncryptionHeader |
getHeader() |
EncryptionVerifier |
getVerifier() |
int |
getVersionMajor() |
int |
getVersionMinor() |
public static final BitField flagCryptoAPI
public static final BitField flagDocProps
public static final BitField flagExternal
public static final BitField flagAES
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, boolean isCryptoAPI) throws java.io.IOException
java.io.IOException
public EncryptionInfo(EncryptionMode encryptionMode)
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
protected static EncryptionInfoBuilder getBuilder(EncryptionMode encryptionMode) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException
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()
Copyright 2018 The Apache Software Foundation or its licensors, as applicable.