예제 #1
0
        static void Main(string[] args)
        {
            var uri       = "https://jnhisz7ebh.execute-api.eu-west-1.amazonaws.com/api/hostedzone/Z6ZMEKJJ7H3SC/domain/marcelrienks.com";
            var region    = "af-south-1";
            var service   = "execute-api";
            var secretKey = "";
            var secret    = "";

            var httpRequestMethod    = "PATCH";
            var canonicalUri         = "%2Fapi%2Fhostedzone%2FZ6ZMEKJJ7H3SC%2Fdomain%2Fmarcelrienks.com";
            var canonicalQueryString = string.Empty;
            var canonicalHeaders     = string.Empty;
            var signedHeaders        = string.Empty;
            var requestPayload       = string.Empty;

            var canonicalRequest = $"{httpRequestMethod}\n{canonicalUri}\n{canonicalQueryString}\n{canonicalHeaders}\n{signedHeaders}\n{requestPayload}";

            var signature = AWS4Signer.ComputeSignature(
                awsAccessKey: secretKey,
                awsSecretAccessKey: secret,
                region: region,
                signedAt: DateTime.Now,
                service: service,
                signedHeaders: signedHeaders,
                canonicalRequest: canonicalRequest
                );

            Console.WriteLine(signature.Signature);
            Console.ReadLine();
        }