Is there a reliable way to detect a bad password when opening a ZipArchive? I'm currently getting an InvalidOperationException when reading the first entry, and the message is a generic "Invalid data". Exception shared below.
Telerik.Windows.Zip.InvalidDataException occurred
HResult=-2146233088
Message=Invalid data
Source=Telerik.Windows.Zip
StackTrace:
at Telerik.Windows.Zip.DeflateDecompressor.SetPreviousCode() in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 630
at Telerik.Windows.Zip.DeflateDecompressor.ReadTreeCodes() in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 589
at Telerik.Windows.Zip.DeflateDecompressor.DecodeDynamicBlockHeader() in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 534
at Telerik.Windows.Zip.DeflateDecompressor.CheckDecodeState() in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 274
at Telerik.Windows.Zip.DeflateDecompressor.Decode() in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 233
at Telerik.Windows.Zip.DeflateDecompressor.Inflate(Byte[] bytes, Int32 offset, Int32 length) in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 736
at Telerik.Windows.Zip.DeflateDecompressor.ProcessTransform(Boolean finalBlock) in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\Deflate\DeflateDecompressor.cs:line 181
at Telerik.Windows.Zip.CompressionTransformBase.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\CompressionTransformBase.cs:line 162
at Telerik.Windows.Zip.OperationStream.Read(Byte[] buffer, Int32 offset, Int32 count) in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\OperationStream.cs:line 395
at Telerik.Windows.Zip.CompressedStream.Read(Byte[] buffer, Int32 offset, Int32 count) in c:\TB\221\WPF_Scrum\Release_WPF\Sources\Development\Frameworks\Zip\Compression\CompressedStream.cs:line 155
at System.IO.Stream.InternalCopyTo(Stream destination, Int32 bufferSize)
at System.IO.Stream.CopyTo(Stream destination)
at PacketMonitor.BinaryLog.LogReader.Open(String fileName, String password)
InnerException: