diff --git a/SabreTools.Models/PKZIP/AesEncryptionStructure.cs b/SabreTools.Models/PKZIP/AesEncryptionStructure.cs
new file mode 100644
index 0000000..5c821bb
--- /dev/null
+++ b/SabreTools.Models/PKZIP/AesEncryptionStructure.cs
@@ -0,0 +1,33 @@
+namespace SabreTools.Models.PKZIP
+{
+ ///
+ /// WinZip AES encryption data
+ ///
+ /// Header ID = 0x9901
+ ///
+ public class AesEncryptionStructure : ExtensibleDataField
+ {
+ ///
+ /// Compression type
+ ///
+ /// Values 0f 0x01 and 0x02 are accepted
+ public ushort CompressionType { get; set; }
+
+ ///
+ /// Vendor ID
+ ///
+ /// Should be 0x4541
+ public ushort VendorID { get; set; }
+
+ ///
+ /// Unknown
+ ///
+ /// This value is unreferenced
+ public byte Unknown { get; set; }
+
+ ///
+ /// Compression method
+ ///
+ public CompressionMethod CompressionMethod { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/PKZIP/Enums.cs b/SabreTools.Models/PKZIP/Enums.cs
index f93445e..95b165a 100644
--- a/SabreTools.Models/PKZIP/Enums.cs
+++ b/SabreTools.Models/PKZIP/Enums.cs
@@ -1002,6 +1002,18 @@ namespace SabreTools.Models.PKZIP
*/
}
+ [Flags]
+ public enum RecordedTimeFlag : byte
+ {
+ None = 0,
+
+ LastModified = 1,
+
+ LastAccessed = 2,
+
+ Created = 4,
+ }
+
[Flags]
public enum ZipItInternalSettings : ushort
{
diff --git a/SabreTools.Models/PKZIP/ExtendedTimestampExtraField.cs b/SabreTools.Models/PKZIP/ExtendedTimestampExtraField.cs
new file mode 100644
index 0000000..cf4711a
--- /dev/null
+++ b/SabreTools.Models/PKZIP/ExtendedTimestampExtraField.cs
@@ -0,0 +1,33 @@
+namespace SabreTools.Models.PKZIP
+{
+ ///
+ /// The unix modified time, last access time, and creation time, if set
+ ///
+ /// Header ID = 0x5455
+ ///
+ public class ExtendedTimestampExtraField : ExtensibleDataField
+ {
+ ///
+ /// Indicates what tiemstamps are included
+ ///
+ public RecordedTimeFlag Flags { get; set; }
+
+ ///
+ /// Last modified time
+ ///
+ /// Only available when is set
+ public uint? LastModified { get; set; }
+
+ ///
+ /// Last accessed time
+ ///
+ /// Only available when is set
+ public uint? LastAccessed { get; set; }
+
+ ///
+ /// Created on time
+ ///
+ /// Only available when is set
+ public uint? CreatedOn { get; set; }
+ }
+}
\ No newline at end of file