public V1DocumentHeaders(Passphrase passphrase, long keyWrapIterations) : this(passphrase) { _headers.HeaderBlocks.Add(new PreambleHeaderBlock()); _headers.HeaderBlocks.Add(new VersionHeaderBlock(_version)); _headers.HeaderBlocks.Add(new V1KeyWrap1HeaderBlock(_keyEncryptingKey.DerivedKey, keyWrapIterations)); ICrypto headerCrypto = Resolve.CryptoFactory.Legacy.CreateCrypto(HeadersSubkey.Key, null, 0); _headers.HeaderBlocks.Add(new V1EncryptionInfoEncryptedHeaderBlock(headerCrypto)); _headers.HeaderBlocks.Add(new V1CompressionEncryptedHeaderBlock(headerCrypto)); _headers.HeaderBlocks.Add(new FileInfoEncryptedHeaderBlock(headerCrypto)); _headers.HeaderBlocks.Add(new V1UnicodeFileNameInfoEncryptedHeaderBlock(headerCrypto)); _headers.HeaderBlocks.Add(new V1FileNameInfoEncryptedHeaderBlock(headerCrypto)); _headers.HeaderBlocks.Add(new DataHeaderBlock()); SetMasterKeyForEncryptedHeaderBlocks(_headers.HeaderBlocks); V1EncryptionInfoEncryptedHeaderBlock encryptionInfoHeaderBlock = _headers.FindHeaderBlock <V1EncryptionInfoEncryptedHeaderBlock>(); encryptionInfoHeaderBlock.IV = new SymmetricIV(128); encryptionInfoHeaderBlock.PlaintextLength = 0; FileName = String.Empty; }
public override object Clone() { V1EncryptionInfoEncryptedHeaderBlock block = new V1EncryptionInfoEncryptedHeaderBlock((byte[])GetDataBlockBytesReference().Clone()); return(CopyTo(block)); }