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)); }