public void Sign_ReturnsExpectedSignature(string text, string expectedSignature, string privateKey) { var key = SodiumSecurityKey.FromPrivateKey(Convert.FromBase64String(privateKey)); var provider = new SodiumSignatureProvider(key, SodiumAlgorithms.EdDsa); var signature = provider.Sign(Encoding.UTF8.GetBytes(text)); Assert.AreEqual(expectedSignature, Convert.ToBase64String(signature)); }
public void Dispose_ClearsPrivateKey() { var key = SodiumSecurityKey.FromPrivateKey(PrivateKey); var privateKey = key.PrivateKey; key.Dispose(); CollectionAssert.AreEqual(new byte[64], privateKey); }
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 FromPrivateKey_Sets_PrivateKeyToInput() { var key = SodiumSecurityKey.FromPrivateKey(PrivateKey); CollectionAssert.AreEqual(PrivateKey, key.PrivateKey); }
public void FromPrivateKey_HasPrivateKey() { var key = SodiumSecurityKey.FromPrivateKey(PrivateKey); Assert.AreEqual(PrivateKeyStatus.Exists, key.PrivateKeyStatus); }
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 FromPrivateKey_ThrowsArgumentException_WhenPrivateKeyIsNull() => Assert.Throws <ArgumentException>(() => SodiumSecurityKey.FromPrivateKey(Array.Empty <byte>()));
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=")); }