Example #1
0
        public void Verify_ReturnsTrue_ForValidSignatures(string text, string signature, string publicKey)
        {
            var key      = SodiumSecurityKey.FromPublicKey(Convert.FromBase64String(publicKey));
            var provider = new SodiumSignatureProvider(key, SodiumAlgorithms.EdDsa);
            var verified = provider.Verify(Encoding.UTF8.GetBytes(text), Convert.FromBase64String(signature));

            Assert.IsTrue(verified);
        }
        public void FromPublicKey_HasNoPrivateKey()
        {
            var key = SodiumSecurityKey.FromPublicKey(PublicKey);

            Assert.AreEqual(PrivateKeyStatus.DoesNotExist, key.PrivateKeyStatus);
        }
        public void FromPublicKey_Sets_PrivateKeyToNull()
        {
            var key = SodiumSecurityKey.FromPublicKey(PublicKey);

            Assert.Null(key.PrivateKey);
        }
        public void FromPublicKey_Sets_PublicKeyToInput()
        {
            var key = SodiumSecurityKey.FromPublicKey(PublicKey);

            CollectionAssert.AreEqual(PublicKey, key.PublicKey);
        }
 public void FromPublicKey_ThrowsArgumentException_WhenPublicKeyTooShort()
 => Assert.Throws <ArgumentException>(() => SodiumSecurityKey.FromPublicKey(Array.Empty <byte>()));
 public void Initialize()
 {
     _provider = new SodiumCryptoProvider();
     _key      = SodiumSecurityKey.FromPublicKey(Convert.FromBase64String("T/2hPBHWHSuVaOVL7AbqWTaOhIdIgwh2ReZOXpZTQi4="));
 }