public void Initialize(EncryptionSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } this.cryptoSettings = settings as DefaultEncryptionSettings; if (this.cryptoSettings == null) { throw new ArgumentException("Invalid argument type", nameof(settings)); } }
private Stream OpenForWriting() { if (this.written) { throw new IOException("Create mode writes entry once and one entry at a time"); } this.WriteLocalFileHeader(); if (this.Archive.EncryptionSettings != null) { DefaultEncryptionSettings encryptionSettings = this.Archive.EncryptionSettings as DefaultEncryptionSettings; if (encryptionSettings != null) { encryptionSettings.FileTime = this.header.FileTime; } } this.compressedData = new CompressedStream(this.Archive.Writer.BaseStream, StreamOperationMode.Write, this.settings, true, this.Archive.EncryptionSettings); this.compressedData.ChecksumReady += new EventHandler(this.CompressedData_ChecksumReady); return((Stream)this.compressedData); }