Beispiel #1
0
        public static async Task <(bool, string)> GetCode(string txid, NBitcoin.BitcoinSecret key)
        {
            var msg    = CreateMessage(txid);
            var signed = await ECDSAProvider.SignMessage(msg, key);

            return(signed);
        }
Beispiel #2
0
        public static async Task <(bool, string)> GetCode(string txid, EncryptionKey key)
        {
            var msg    = CreateMessage(txid);
            var signed = await ECDSAProvider.SignMessage(msg, key.GetEncryptedKey());

            return(signed);
        }
        /// <summary>
        /// Sign custom message with use of account Private Key
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public async Task <(bool, string)> SignMessage(string message)
        {
            if (IsLocked())
            {
                await InvokeAccountLockedEvent();

                return(false, "Account is locked.");
            }
            var key = AccountKey.GetEncryptedKey();

            return(await ECDSAProvider.SignMessage(message, Secret));
        }
Beispiel #4
0
        public async Task CreateSignatureTest()
        {
            var sign = await ECDSAProvider.SignMessage(FakeDataGenerator.DefaultDto.BasicMessage,
                                                       FakeDataGenerator.DefaultDto.AliceSecret);

            Assert.True(sign.Item1);
            Assert.Equal(FakeDataGenerator.DefaultDto.AliceBasicMessageSignature, sign.Item2);

            var signb = await ECDSAProvider.SignMessage(FakeDataGenerator.DefaultDto.BasicMessage,
                                                        FakeDataGenerator.DefaultDto.BobSecret);

            Assert.True(signb.Item1);
            Assert.Equal(FakeDataGenerator.DefaultDto.BobBasicMessageSignature, signb.Item2);
        }