Esempio n. 1
0
        public static void DeriveBytesSuccess(PasswordBasedKeyDerivationAlgorithm a)
        {
            var b = a.DeriveBytes(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize), 32);

            Assert.NotNull(b);
            Assert.Equal(32, b.Length);
        }
Esempio n. 2
0
        public static void DeriveKeySuccess(PasswordBasedKeyDerivationAlgorithm a)
        {
            var x = AeadAlgorithm.ChaCha20Poly1305;

            using var k = a.DeriveKey(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize), x);
            Assert.NotNull(k);
            Assert.Same(x, k.Algorithm);
        }
Esempio n. 3
0
 public static void DeriveBytesWithSpanWithSaltTooLarge(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentException>("salt", () => a.DeriveBytes(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize + 1), Span <byte> .Empty));
 }
Esempio n. 4
0
 public static void DeriveBytesWithSpanWithNullPassword(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentNullException>("password", () => a.DeriveBytes(null, ReadOnlySpan <byte> .Empty, Span <byte> .Empty));
 }
Esempio n. 5
0
 public static void DeriveBytesWithNegativeCount(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentOutOfRangeException>("count", () => a.DeriveBytes(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize), -1));
 }
Esempio n. 6
0
 public static void DeriveBytesWithSaltTooShort(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentException>("salt", () => a.DeriveBytes(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize - 1), 0));
 }
Esempio n. 7
0
 public static void Properties(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.True(a.SaltSize > 0);
     Assert.True(a.MaxCount > 0);
 }
Esempio n. 8
0
 public static void DeriveKeyWithNullAlgorithm(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentNullException>("algorithm", () => a.DeriveKey(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize), null));
 }
Esempio n. 9
0
 public static void DeriveBytesWithSpanSuccess(PasswordBasedKeyDerivationAlgorithm a)
 {
     a.DeriveBytes(s_password, Utilities.RandomBytes.Slice(0, a.SaltSize), new byte[32]);
 }
Esempio n. 10
0
 public static void DeriveKeyWithNullPasswordSpan(PasswordBasedKeyDerivationAlgorithm a)
 {
     Assert.Throws <ArgumentNullException>("password", () => a.DeriveKey(ReadOnlySpan <byte> .Empty, ReadOnlySpan <byte> .Empty, null));
 }