Exemplo n.º 1
0
 public static bool ValidateRequest(Uri uri, string signatureKey)
 {
     try
     {
         UriBuilder          uriBuilder  = new UriBuilder(uri);
         NameValueCollection queryString = HttpUtility.ParseQueryString(uri.Query);
         string signature = queryString[signatureKey];
         queryString.Remove(signatureKey);
         uriBuilder.Query = queryString.ToString();
         bool flag = Hmac.Validate(uriBuilder.Uri.PathAndQuery, signature);
         if (flag && queryString["ts"] != null && DateTime.ParseExact(queryString["ts"], "r", (IFormatProvider)null) < DateTime.UtcNow)
         {
             return(false);
         }
         return(flag);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Exemplo n.º 2
0
 public static bool Validate(string message, string signature)
 {
     return(Hmac.Validate(message, Convert.FromBase64String(signature)));
 }