private void Decode() { var signedData = RLPDecoder.DecodeSigned(rlpSignedEncoded, numberOfEncodingElements); Data = signedData.Data; Signature = signedData.GetSignature(); }
public bool VerifyAllowingOnlyLowS(byte[] hash, EthECDSASignature sig) { if (!sig.IsLowS) { return(false); } return(_ecKey.Verify(hash, sig.ECDSASignature)); }
public static SignedData DecodeSigned(byte[] rawdata, int numberOfEncodingElements) { var decodedList = RLP.RLP.Decode(rawdata); var decodedData = new List <byte[]>(); var decodedElements = (RLPCollection)decodedList; EthECDSASignature signature = null; for (var i = 0; i < numberOfEncodingElements; i++) { decodedData.Add(decodedElements[i].RLPData); } // only parse signature in case is signed if (decodedElements[numberOfEncodingElements].RLPData != null) { //Decode Signature var v = decodedElements[numberOfEncodingElements].RLPData; var r = decodedElements[numberOfEncodingElements + 1].RLPData; var s = decodedElements[numberOfEncodingElements + 2].RLPData; signature = EthECDSASignatureFactory.FromComponents(r, s, v); } return(new SignedData(decodedData.ToArray(), signature)); }
private static string CreateStringSignature(EthECDSASignature signature) { return(EthECDSASignature.CreateStringSignature(signature)); }
public bool Verify(byte[] hash, EthECDSASignature sig) { return(_ecKey.Verify(hash, sig.ECDSASignature)); }
public static EthECKey RecoverFromSignature(EthECDSASignature signature, byte[] hash, BigInteger chainId) { return(new EthECKey(ECKey.RecoverFromSignature(GetRecIdFromVChain(signature.V, chainId), signature.ECDSASignature, hash, false))); }
public static EthECKey RecoverFromSignature(EthECDSASignature signature, int recId, byte[] hash) { return(new EthECKey(ECKey.RecoverFromSignature(recId, signature.ECDSASignature, hash, false))); }
public static EthECKey RecoverFromSignature(EthECDSASignature signature, byte[] hash) { return(new EthECKey(ECKey.RecoverFromSignature(GetRecIdFromV(signature.V), signature.ECDSASignature, hash, false))); }
public void SetSignature(EthECDSASignature signature) { Signature = signature; rlpSignedEncoded = null; }
public void Sign(EthECKey key, BigInteger chainId) { Signature = key.SignAndCalculateV(RawHash, chainId); rlpSignedEncoded = null; }
public void Sign(EthECKey key) { Signature = key.SignAndCalculateV(RawHash); rlpSignedEncoded = null; }
public void SetSignature(EthECDSASignature signature) { SimpleRlpSigner.SetSignature(signature); }