public bool VerifySignature() { var versig = I2PSignature.SupportedSignatureType(PublicSigningKey.Certificate.SignatureType); if (!versig) { DebugUtils.LogDebug("I2PLeaseSet: VerifySignature false. Not supported: " + PublicSigningKey.Certificate.SignatureType.ToString()); return(false); } var signfields = new List <BufLen>(); signfields.Add(new BufLen(Destination.ToByteArray())); signfields.Add(PublicKey.Key); signfields.Add(PublicSigningKey.Key); signfields.Add((BufLen)(byte)Leases.Count); lock ( Leases ) { foreach (var lease in Leases) { signfields.Add(new BufLen(lease.ToByteArray())); } } versig = I2PSignature.DoVerify(PublicSigningKey, Signature, signfields.ToArray()); if (!versig) { DebugUtils.LogDebug("I2PLeaseSet: I2PSignature.DoVerify failed: " + PublicSigningKey.Certificate.SignatureType.ToString()); return(false); } return(true); }
static BufLen CreateKnCBuf(I2PKeysAndCert kns) { var ar = kns.ToByteArray(); var buf = new BufLen(I2PHashSHA256.GetHash(ar, 0, ar.Length)); return(buf); }
public I2PIdentHash(I2PKeysAndCert kns) { var ar = kns.ToByteArray(); Hash = new BufLen(I2PHashSHA256.GetHash(ar, 0, ar.Length)); CachedHash = Hash.GetHashCode(); }