Пример #1
0
        /// <summary>
        /// Helper function to set up an Aws.Crt.Auth.SigningConfig
        /// </summary>
        /// <param name="signatureType">Signature type</param>
        /// <param name="region">Signing region</param>
        /// <param name="service">Service to sign the request for</param>
        /// <param name="signedAt">Timestamp to sign at</param>
        /// <param name="credentials">The AWS credentials for the account making the service call</param>
        /// <returns>Prepared CRT signing configuration</returns>
        public AwsSigningConfig PrepareCRTSigningConfig(AwsSignatureType signatureType, string region, string service, DateTime signedAt, ImmutableCredentials credentials)
        {
            var signingConfig = new AwsSigningConfig
            {
                Algorithm        = AwsSigningAlgorithm.SIGV4A,
                SignedBodyHeader = AwsSignedBodyHeaderType.X_AMZ_CONTENT_SHA256,
                SignatureType    = signatureType,
                Region           = region,
                Service          = service,
                Timestamp        = new DateTimeOffset(signedAt),
                Credentials      = new Credentials(credentials.AccessKey, credentials.SecretKey, credentials.Token)
            };

            if (service == "s3")
            {
                signingConfig.UseDoubleUriEncode     = false;
                signingConfig.ShouldNormalizeUriPath = false;
            }
            else
            {
                signingConfig.UseDoubleUriEncode     = true;
                signingConfig.ShouldNormalizeUriPath = true;
            }

            return(signingConfig);
        }
Пример #2
0
        internal AwsSigningConfig BuildDefaultSigningConfig(string service)
        {
            var config = new AwsSigningConfig
            {
                Algorithm        = AwsSigningAlgorithm.SIGV4A,
                SignedBodyHeader = AwsSignedBodyHeaderType.X_AMZ_CONTENT_SHA256,

                SignatureType = AwsSignatureType.HTTP_REQUEST_VIA_HEADERS,
                Region        = SigningTestRegion,
                Service       = service,
                Timestamp     = new DateTimeOffset(SigningTestTimepoint),
                Credentials   = new Credentials(SigningTestAccessKeyId, SigningTestSecretAccessKey, "")
            };

            if (service == "s3")
            {
                config.UseDoubleUriEncode     = false;
                config.ShouldNormalizeUriPath = false;
            }
            else
            {
                config.UseDoubleUriEncode     = true;
                config.ShouldNormalizeUriPath = true;
            }

            return(config);
        }
Пример #3
0
        private AwsSigningConfig BuildBaseSigningConfig()
        {
            DateTime date = new DateTime(2015, 8, 30, 12, 36, 0, DateTimeKind.Utc);

            var credentials = new Credentials("AKIDEXAMPLE", "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY", null);

            var config = new AwsSigningConfig();

            config.Credentials = credentials;
            config.Timestamp   = new DateTimeOffset(date);
            config.Region      = "us-east-1";
            config.Service     = "service";

            return(config);
        }