Class PKWareExtraHeader
java.lang.Object
org.apache.commons.compress.archivers.zip.PKWareExtraHeader
- All Implemented Interfaces:
ZipExtraField
- Direct Known Subclasses:
X0014_X509Certificates
,X0015_CertificateIdForFile
,X0016_CertificateIdForCentralDirectory
,X0017_StrongEncryptionHeader
,X0019_EncryptionRecipientCertificateList
Base class for all PKWare strong crypto extra headers.
This base class acts as a marker so you know you can ignore all extra fields that extend this class if you are not interested in the meta data of PKWare strong encryption.
Algorithm IDs - integer identifier of the encryption algorithm from the following range- 0x6601 - DES
- 0x6602 - RC2 (version needed to extract < 5.2)
- 0x6603 - 3DES 168
- 0x6609 - 3DES 112
- 0x660E - AES 128
- 0x660F - AES 192
- 0x6610 - AES 256
- 0x6702 - RC2 (version needed to extract >= 5.2)
- 0x6720 - Blowfish
- 0x6721 - Twofish
- 0x6801 - RC4
- 0xFFFF - Unknown algorithm
- 0x0000 - none
- 0x0001 - CRC32
- 0x8003 - MD5
- 0x8004 - SHA1
- 0x8007 - RIPEMD160
- 0x800C - SHA256
- 0x800D - SHA384
- 0x800E - SHA512
- Since:
- 1.11
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Encryption algorithm.static enum
Hash Algorithm -
Field Summary
Fields inherited from interface org.apache.commons.compress.archivers.zip.ZipExtraField
EXTRAFIELD_HEADER_SIZE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
assertMinimalLength
(int minimum, int length) byte[]
Gets the central data.Gets the central data length.Gets the header id.byte[]
Gets the local data.Gets the length of the local data.void
parseFromCentralDirectoryData
(byte[] data, int offset, int length) Populate data from this array as if it was in central directory data.void
parseFromLocalFileData
(byte[] data, int offset, int length) Populate data from this array as if it was in local file data.void
setCentralDirectoryData
(byte[] data) Sets the extra field data in central directory.void
setLocalFileDataData
(byte[] data) Sets the extra field data in the local file data - without Header-ID or length specifier.
-
Constructor Details
-
PKWareExtraHeader
-
-
Method Details
-
assertMinimalLength
- Throws:
ZipException
-
getCentralDirectoryData
Gets the central data.- Specified by:
getCentralDirectoryData
in interfaceZipExtraField
- Returns:
- the central data if present, else return the local file data
-
getCentralDirectoryLength
Gets the central data length. If there is no central data, get the local file data length.- Specified by:
getCentralDirectoryLength
in interfaceZipExtraField
- Returns:
- the central data length
-
getHeaderId
Gets the header id.- Specified by:
getHeaderId
in interfaceZipExtraField
- Returns:
- the header id
-
getLocalFileDataData
Gets the local data.- Specified by:
getLocalFileDataData
in interfaceZipExtraField
- Returns:
- the local data
-
getLocalFileDataLength
Gets the length of the local data.- Specified by:
getLocalFileDataLength
in interfaceZipExtraField
- Returns:
- the length of the local data
-
parseFromCentralDirectoryData
Description copied from interface:ZipExtraField
Populate data from this array as if it was in central directory data.- Specified by:
parseFromCentralDirectoryData
in interfaceZipExtraField
- Parameters:
data
- the array of bytes.offset
- the source location in the data array.length
- the number of bytes to use in the data array.- Throws:
ZipException
- on error- See Also:
-
parseFromLocalFileData
Description copied from interface:ZipExtraField
Populate data from this array as if it was in local file data.- Specified by:
parseFromLocalFileData
in interfaceZipExtraField
- Parameters:
data
- the array of bytes.offset
- the source location in the data array.length
- the number of bytes to use in the data array.- Throws:
ZipException
- on error- See Also:
-
setCentralDirectoryData
Sets the extra field data in central directory.- Parameters:
data
- the data to use
-
setLocalFileDataData
Sets the extra field data in the local file data - without Header-ID or length specifier.- Parameters:
data
- the field data to use
-