예제 #1
0
        private static IDictionary <string, string> SignRequestUrl(IDictionary <string, string> headers)
        {
            var imutableMap = new Dictionary <string, string>(headers);

            imutableMap.TryAdd("Date", SignatureHelper.GetRfc2616Date(DateTime.Now));
            imutableMap.TryAdd("Accept", SignatureHelper.FormatTypeToString("Json"));
            imutableMap.TryAdd("x-acs-signature-method", HmacSha1Signer.GetSignatureMethod());
            imutableMap.TryAdd("x-acs-signature-version", HmacSha1Signer.GetSignatureVersion());

            return(imutableMap);
        }
예제 #2
0
        public override string GetComposedUrl()
        {
            ComposeHeader(Headers);
            ComposeRpcQueries(Queries);

            var stringToSign = ComposeStringToSign(Queries);
            var signature    = HmacSha1Signer.ComputeSignature(stringToSign, AccessKeySecret + "&");

            Queries.TryAdd("Signature", signature);

            return(ComposeUrl(Endpoint, Queries));
        }
예제 #3
0
        public override string GetComposedUrl()
        {
            AssemblyHeaders(Headers);

            var tempHeader   = SignRequestUrl(Headers);
            var stringToSign = ComposeStringToSign(tempHeader);
            var signature    = HmacSha1Signer.ComputeSignature(stringToSign, AccessKeySecret);

            tempHeader.TryAdd("Authorization", "acs " + AccessKeyId + ":" + signature);

            Headers = tempHeader;

            return(ComposeUrl(Endpoint, Queries));
        }
예제 #4
0
        private void ComposeRpcQueries(IDictionary <string, string> queries)
        {
            var timeStamp = SignatureHelper.FormatIso8601Date(DateTime.Now);

            queries.TryAdd("Action", Action);
            queries.TryAdd("Version", Version);
            queries.TryAdd("Format", Format);
            queries.TryAdd("RegionId", RegionId);
            queries.TryAdd("Timestamp", timeStamp);
            queries.TryAdd("SignatureMethod", HmacSha1Signer.GetSignatureMethod());
            queries.TryAdd("SignatureVersion", HmacSha1Signer.GetSignatureVersion());
            queries.TryAdd("SignatureNonce", HmacSha1Signer.GetSignatureNonce());
            queries.TryAdd("AccessKeyId", AccessKeyId);
        }