protected static String CreateStringToSign(String canonicalRequest, SignerRequestParamsEx signerParams) { byte[] hhhhh = ComputeHash(canonicalRequest); string hex = AWSSDKUtils.ToHex(hhhhh, true); StringBuilder stringToSignBuilder = new StringBuilder("SDK-HMAC-SHA256"); stringToSignBuilder.Append("\n") .Append(signerParams.GetFormattedSigningDateTime()) .Append("\n") .Append(signerParams.GetScope()) .Append("\n") .Append(hex); String stringToSign = stringToSignBuilder.ToString(); return(stringToSign); }
public override void Sign(IRequest request, ICredentials credentials) { var sanitizedCredentials = this.SanitizeCredentials(credentials); var signerParams = new SignerRequestParamsEx(request, this.regionName, this.serviceName, "SDK-HMAC-SHA256"); this.AddHostHeader(request); request.Headers.Add("X-Sdk-Date", signerParams.GetFormattedSigningDateTime()); String contentSha256 = this.CalculateContentHash(request); if ("required".Equals(request.Headers["x-sdk-content-sha256"])) { request.Headers.Add("x-sdk-content-sha256", contentSha256); } var metrics = new RequestMetrics(); SignHttp(request, metrics, sanitizedCredentials.GetAccessKeyId(), sanitizedCredentials.GetSecretKey(), signerParams); }