Beispiel #1
0
        public async Task ECDSA_SharedSeceredEncryptionCorrectTest()
        {
            var sharedSecret = await ECDSAProvider.GetSharedSecret(FakeDataGenerator.DefaultDto.BobAddress,
                                                                   FakeDataGenerator.DefaultDto.AliceSecret,
                                                                   FakeDataGenerator.DefaultDto.BobSecret.PubKey);

            Assert.True(sharedSecret.Item1);
            Assert.Equal(FakeDataGenerator.DefaultDto.AliceBobEDCHSharedKey, sharedSecret.Item2);
        }
Beispiel #2
0
        public async Task ECDSA_SharedSeceredEncryptionEmptyKeyFailTest()
        {
            var sharedSecret = await ECDSAProvider.GetSharedSecret("", key : "",
                                                                   FakeDataGenerator.DefaultDto.BobSecret.PubKey);

            Assert.False(sharedSecret.Item1);
            string message = "Input parameters cannot be empty or null.";

            Assert.Equal(message, sharedSecret.Item2);
        }
Beispiel #3
0
        private async Task <bool> LoadSharedKeyForEncrypt(NBitcoin.BitcoinSecret secret)
        {
            if (string.IsNullOrEmpty(SharedKey))
            {
                var sharedkey = await ECDSAProvider.GetSharedSecret(Partner, secret);

                if (sharedkey.Item1)
                {
                    SharedKey = sharedkey.Item2;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }