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); }
public bool VerifySignature() { var versig = I2PSignature.SupportedSignatureType(Identity.Certificate.SignatureType); if (!versig) { DebugUtils.LogDebug("RouterInfo: VerifySignature false. Not supported: " + Identity.Certificate.SignatureType.ToString()); return(false); } versig = I2PSignature.DoVerify(Identity.SigningPublicKey, Signature, Data); if (!versig) { DebugUtils.LogDebug("RouterInfo: I2PSignature.DoVerify failed: " + Identity.Certificate.SignatureType.ToString()); return(false); } return(true); }