public void Given_An_Incorrect_Key_Identifier_When_Decryption_Is_Attempted_Then_An_Exception_Is_Thrown() { var data = Encoding.UTF8.GetBytes(nameof(FixedKeyEncryptionproviderTests)); var key = GenerateKeyBytes(); var encryptionProviderWithDifferentKey = new FixedKeyEncryptionProvider(key); var secret = sut.Encrypt(data); Assert.Throws <KeyIdentifierMismatchException>(() => encryptionProviderWithDifferentKey.Decrypt(secret)); }
public void Given_Two_Keys_When_Encrypted_Then_The_KeyIdentifier_Is_Unique_For_Each_Secret() { var data = Encoding.UTF8.GetBytes(nameof(FixedKeyEncryptionproviderTests)); var provider1 = new FixedKeyEncryptionProvider(GenerateKeyBytes()); var provider2 = new FixedKeyEncryptionProvider(GenerateKeyBytes()); var secret1 = provider1.Encrypt(data); var secret2 = provider2.Encrypt(data); secret1.KeyIdentifier.Should().NotBe(secret2.KeyIdentifier); }
public void Given_An_Incorrect_Key_When_Decryption_Is_Attempted_Then_Decryption_Does_Not_Return_The_Unencrypted_Data() { var data = Encoding.UTF8.GetBytes(nameof(FixedKeyEncryptionproviderTests)); var secret = sut.Encrypt(data); // make a new key appear to be the same by using the same identifier var incorrectKey = new Key(GenerateKeyBytes(), secret.KeyIdentifier); var encryptionProviderWithDifferentKey = new FixedKeyEncryptionProvider(incorrectKey); encryptionProviderWithDifferentKey.Decrypt(secret).Should().NotBeEquivalentTo(data); }
public FixedKeyEncryptionproviderTests() { sut = new FixedKeyEncryptionProvider(GenerateKeyBytes()); }