예제 #1
0
        public static string GetStringToSignForNephosSharedKeyLiteAuth(RequestContext requestContext, NephosUriComponents uriComponents)
        {
            Uri           requestUrl            = requestContext.RequestUrl;
            StringBuilder stringBuilder         = new StringBuilder(MessageCanonicalizer.GetNephosOrStandardDateString(requestContext.RequestHeaders));
            string        canonicalizedResource = MessageCanonicalizer.GetCanonicalizedResource(requestUrl, uriComponents, requestContext.RequestRawUrlString);

            TableAuthenticationHelper.AppendStringToCanonicalizedString(stringBuilder, canonicalizedResource);
            return(stringBuilder.ToString());
        }
예제 #2
0
 public static string GetStringToSignForStandardSharedKeyAuth(RequestContext requestContext, NephosUriComponents uriComponents, SupportedAuthScheme requestAuthScheme, bool isFileService = false)
 {
     if (MessageCanonicalizer.IsVersionBeforeSep09(requestContext.RequestHeaders))
     {
         if (requestAuthScheme != SupportedAuthScheme.SharedKey)
         {
             CultureInfo invariantCulture = CultureInfo.InvariantCulture;
             object[]    str = new object[] { requestAuthScheme.ToString() };
             throw new NotSupportedException(string.Format(invariantCulture, "GetStringToSignForDefaultSharedKeyAuth must not be used for {0} auth scheme", str));
         }
         return(MessageCanonicalizer.CanonicalizeHttpRequest(requestContext, uriComponents, isFileService));
     }
     if (requestAuthScheme != SupportedAuthScheme.SharedKey && requestAuthScheme != SupportedAuthScheme.SharedKeyLite)
     {
         CultureInfo cultureInfo = CultureInfo.InvariantCulture;
         object[]    objArray    = new object[] { requestAuthScheme.ToString() };
         throw new NotSupportedException(string.Format(cultureInfo, "GetStringToSignForDefaultSharedKeyAuth must not be used for {0} auth scheme", objArray));
     }
     if (requestAuthScheme != SupportedAuthScheme.SharedKeyLite)
     {
         return(MessageCanonicalizer.CanonicalizeHttpRequest(requestContext, uriComponents, isFileService));
     }
     return(MessageCanonicalizer.CanonicalizeHttpRequestDefault(requestContext.RequestUrl, uriComponents, requestContext.HttpMethod, requestContext.RequestContentType, requestContext.RequestHeaders, isFileService, requestContext.RequestRawUrlString));
 }
예제 #3
0
        public static string CanonicalizeTableHttpRequestForSharedKeyAuth(Uri address, NephosUriComponents uriComponents, string method, string contentType, NameValueCollection headers, string rawUrl)
        {
            StringBuilder stringBuilder = new StringBuilder(method);

            TableAuthenticationHelper.AppendStringToCanonicalizedString(stringBuilder, MessageCanonicalizer.GetContentMD5(headers));
            TableAuthenticationHelper.AppendStringToCanonicalizedString(stringBuilder, contentType);
            TableAuthenticationHelper.AppendStringToCanonicalizedString(stringBuilder, MessageCanonicalizer.GetNephosOrStandardDateString(headers));
            TableAuthenticationHelper.AppendStringToCanonicalizedString(stringBuilder, MessageCanonicalizer.GetCanonicalizedResource(address, uriComponents, rawUrl));
            return(stringBuilder.ToString());
        }