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()); } }
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); }
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); }
public bool MatchesPrivateKey(PrivateKey sk) => MatchesPublicKey(sk.GetPublic());
public PeerId(PrivateKey sk) : this(sk.GetPublic()) { }