private string _GetAuthorizationHeader(string method, string content, string ifMatch, string canonicalHeader, string canonicalRequest, string md5, AzureStorageAccountInfo accountInfo, string contentType)
 {
     var messageSignature = _ConstructMessageSignature(method, content, ifMatch, canonicalHeader, canonicalRequest, md5, contentType);
     var signedMessageSignature = _SignSignature(messageSignature, accountInfo);
     var authorizationHeader = accountInfo.Account + ":" + signedMessageSignature;
     return authorizationHeader;
 }
 public string Build(string verb, string content, StorageUri uri, AzureStorageAccountInfo accountInfo, HttpRequestHeaders headers, string contentType)
 {
     var ifMatch = "";
     var md5 = "";
     var canonicalizedHeaderString = _GetCanonicalizedHeaders(headers);
     var canonResource = _GetCanonicalizedResource(new Uri(uri.ToUriString()), accountInfo.Account);
     var authorizationHeader = _GetAuthorizationHeader(verb, content, ifMatch, canonicalizedHeaderString, canonResource, md5, accountInfo, contentType);
     return authorizationHeader;
 }
 public void Add(AzureStorageAccountInfo accountInfo)
 {
     _accountInfos.Add(accountInfo.Account, accountInfo);
 }
 public HttpClientAdapterAsync(AzureStorageAccountInfo accountInfo)
 {
     _accountInfo = accountInfo;
 }
 private string _SignSignature(string messageSignature, AzureStorageAccountInfo accountInfo)
 {
     var signatureBytes = Encoding.UTF8.GetBytes(messageSignature);
     var sha256 = new HMACSHA256(Convert.FromBase64String(accountInfo.Key));
     return Convert.ToBase64String(sha256.ComputeHash(signatureBytes));
 }