Esempio n. 1
0
        private void Decode()
        {
            var signedData = RLPDecoder.DecodeSigned(rlpSignedEncoded, numberOfEncodingElements);

            Data      = signedData.Data;
            Signature = signedData.GetSignature();
        }
Esempio n. 2
0
 public bool VerifyAllowingOnlyLowS(byte[] hash, EthECDSASignature sig)
 {
     if (!sig.IsLowS)
     {
         return(false);
     }
     return(_ecKey.Verify(hash, sig.ECDSASignature));
 }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 private static string CreateStringSignature(EthECDSASignature signature)
 {
     return(EthECDSASignature.CreateStringSignature(signature));
 }
Esempio n. 5
0
 public bool Verify(byte[] hash, EthECDSASignature sig)
 {
     return(_ecKey.Verify(hash, sig.ECDSASignature));
 }
Esempio n. 6
0
 public static EthECKey RecoverFromSignature(EthECDSASignature signature, byte[] hash, BigInteger chainId)
 {
     return(new EthECKey(ECKey.RecoverFromSignature(GetRecIdFromVChain(signature.V, chainId),
                                                    signature.ECDSASignature, hash, false)));
 }
Esempio n. 7
0
 public static EthECKey RecoverFromSignature(EthECDSASignature signature, int recId, byte[] hash)
 {
     return(new EthECKey(ECKey.RecoverFromSignature(recId, signature.ECDSASignature, hash, false)));
 }
Esempio n. 8
0
 public static EthECKey RecoverFromSignature(EthECDSASignature signature, byte[] hash)
 {
     return(new EthECKey(ECKey.RecoverFromSignature(GetRecIdFromV(signature.V), signature.ECDSASignature, hash,
                                                    false)));
 }
Esempio n. 9
0
 public void SetSignature(EthECDSASignature signature)
 {
     Signature        = signature;
     rlpSignedEncoded = null;
 }
Esempio n. 10
0
 public void Sign(EthECKey key, BigInteger chainId)
 {
     Signature        = key.SignAndCalculateV(RawHash, chainId);
     rlpSignedEncoded = null;
 }
Esempio n. 11
0
 public void Sign(EthECKey key)
 {
     Signature        = key.SignAndCalculateV(RawHash);
     rlpSignedEncoded = null;
 }
Esempio n. 12
0
 public void SetSignature(EthECDSASignature signature)
 {
     SimpleRlpSigner.SetSignature(signature);
 }