Esempio n. 1
0
        public DHTRecord(PrivateKey sk, string key, byte[] value, bool sign)
        {
            Key    = key;
            Value  = value;
            Author = Encoding.UTF8.GetString(sk.GetPublic().Hash);

            if (sign)
            {
                Signature = sk.Sign(GetBlob());
            }
        }
Esempio n. 2
0
        private void TestKeySignature(PrivateKey sk)
        {
            var pk = sk.GetPublic();

            var text = new byte[16];

            new Random().NextBytes(text);

            var sig   = sk.Sign(text);
            var valid = pk.Verify(text, sig);

            Assert.True(valid);
        }
Esempio n. 3
0
        private void TestKeyEncoding(PrivateKey sk)
        {
            var skbm  = sk.Marshal();
            var sk2   = PrivateKey.Unmarshal(skbm);
            var skbm2 = sk2.Marshal();

            Assert.Equal(skbm, skbm2);

            var pk    = sk.GetPublic();
            var pkbm  = pk.Marshal();
            var pk2   = PublicKey.Unmarshal(pkbm);
            var pkbm2 = pk2.Marshal();

            Assert.Equal(pkbm, pkbm2);
        }
Esempio n. 4
0
 public bool MatchesPrivateKey(PrivateKey sk) => MatchesPublicKey(sk.GetPublic());
Esempio n. 5
0
 public PeerId(PrivateKey sk)
     : this(sk.GetPublic())
 {
 }