Esempio n. 1
0
 public static object ParseRequest(byte[] request)
 {
     if (request.Length < 1)
     {
         Console.Error.WriteLine("Received request with no bytes");
         return(new Common.InvalidRequest());
     }
     if (request[0] == 1)
     {
         return(Common.GetQuoteRequest.ParseRequest(request));
     }
     if (request[0] == 2)
     {
         return(AdvanceCounterRequest.ParseRequest(request));
     }
     Console.Error.WriteLine("Received request with invalid type");
     return(new Common.InvalidRequest());
 }
Esempio n. 2
0
        public byte[] HandleRequest(byte[] requestBytes)
        {
            object request = NotaryRequest.ParseRequest(requestBytes);

            if (request is Common.GetQuoteRequest)
            {
                GetQuoteResponse getQuoteResponse = new GetQuoteResponse(0, key_pair);
                return(getQuoteResponse.Encode());
            }
            if (request is AdvanceCounterRequest)
            {
                AdvanceCounterRequest r = (AdvanceCounterRequest)request;
                counter = counter + 1;
                byte[] header = new byte[1];
                header[0] = 34;
                byte[] new_counter_value_encoding = CommonRoutines.EncodeMPBigInteger(counter);
                byte[] notary_statement           = CommonRoutines.CombineByteArrays(header, new_counter_value_encoding, r.message);
                byte[] notary_attestation         = key_pair.SignData(notary_statement, CryptoConfig.MapNameToOID("SHA256"));
                return(NotarySrvResponse.EncodeAdvanceCounterResponse(0, notary_statement, notary_attestation));
            }
            return(InvalidResponse.Encode());
        }