public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    input.SkipLastField();
                    break;

                case 8:
                {
                    hashAlgorithm_ = (DigitallySigned.Types.HashAlgorithm)input.ReadEnum();
                    break;
                }

                case 16:
                {
                    sigAlgorithm_ = (DigitallySigned.Types.SignatureAlgorithm)input.ReadEnum();
                    break;
                }

                case 26:
                {
                    Signature = input.ReadBytes();
                    break;
                }
                }
            }
        }
示例#2
0
        public static DigitallySigned ParseDigitallySignedFromBinary(InputStream inputStream)
        {
            DigitallySigned builder           = new DigitallySigned();
            int             hashAlgorithmByte = (int)ReadNumber(inputStream, 1 /* single byte */);

            DigitallySigned.Types.HashAlgorithm hashAlgorithm = (DigitallySigned.Types.HashAlgorithm)hashAlgorithmByte;

            builder.HashAlgorithm = hashAlgorithm;

            int signatureAlgorithmByte = (int)ReadNumber(inputStream, 1 /* single byte */);

            DigitallySigned.Types.SignatureAlgorithm signatureAlgorithm = (DigitallySigned.Types.SignatureAlgorithm)signatureAlgorithmByte;

            builder.SigAlgorithm = signatureAlgorithm;
            //int SignatureLength = ReadUint16(inputStream);
            byte[] signature = ReadOpaque16(inputStream);
            builder.Signature = ByteString.CopyFrom(signature);

            return(builder);
        }