7z encrypted filename exception with no password matches rar behaviour.
This commit is contained in:
parent
61c01ce9b0
commit
e424094fdf
3 changed files with 23 additions and 1 deletions
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
|
@ -20,6 +20,11 @@ namespace SharpCompress.Compressors.LZMA
|
|||
|
||||
public AesDecoderStream(Stream input, byte[] info, IPasswordProvider pass, long limit)
|
||||
{
|
||||
if (pass.CryptoGetTextPassword() == null)
|
||||
{
|
||||
throw new SharpCompress.Common.CryptographicException("Encrypted 7Zip archive has no password specified.");
|
||||
}
|
||||
|
||||
mStream = input;
|
||||
mLimit = limit;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,12 +17,24 @@ namespace SharpCompress.Test.Rar
|
|||
ReadRarPassword("Rar.encrypted_filesAndHeader.rar", "test");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rar_EncryptedFileAndHeader_NoPasswordExceptionTest()
|
||||
{
|
||||
Assert.Throws(typeof(CryptographicException), () => ReadRarPassword("Rar.encrypted_filesAndHeader.rar", null));
|
||||
}
|
||||
|
||||
/*[Fact]
|
||||
public void Rar5_EncryptedFileAndHeader_Archive()
|
||||
{
|
||||
ReadRarPassword("Rar5.encrypted_filesAndHeader.rar", "test");
|
||||
}*/
|
||||
|
||||
[Fact]
|
||||
public void Rar5_EncryptedFileAndHeader_NoPasswordExceptionTest()
|
||||
{
|
||||
Assert.Throws(typeof(CryptographicException), () => ReadRarPassword("Rar5.encrypted_filesAndHeader.rar", null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rar_EncryptedFileOnly_Archive()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,6 +41,11 @@ namespace SharpCompress.Test.SevenZip
|
|||
ArchiveFileRead("7Zip.LZMA.Aes.7z", new ReaderOptions() { Password = "testpassword" });
|
||||
}
|
||||
[Fact]
|
||||
public void SevenZipArchive_LZMAAES_NoPasswordExceptionTest()
|
||||
{
|
||||
Assert.Throws(typeof(CryptographicException), () => ArchiveFileRead("7Zip.LZMA.Aes.7z", new ReaderOptions() { Password = null })); //was failing with ArgumentNullException not CryptographicException like rar
|
||||
}
|
||||
[Fact]
|
||||
public void SevenZipArchive_PPMd_StreamRead()
|
||||
{
|
||||
ArchiveStreamRead("7Zip.PPMd.7z");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue