Fixes scenario where query string arrays (i.e. query strings with multiple paramaters with the same name) would cause invalid signatures.
This was happening because HttpUtility.ParseQueryString(...) inserts commas into the value when there are multiple values present. Instead of repeating the key=value pair in the canonical string, the algorithm was just encoding the commas into one giant value for each query parameter with multiple values.
Fixes scenario where query string arrays (i.e. query strings with multiple paramaters with the same name) would cause invalid signatures.
This was happening because HttpUtility.ParseQueryString(...) inserts commas into the value when there are multiple values present. Instead of repeating the key=value pair in the canonical string, the algorithm was just encoding the commas into one giant value for each query parameter with multiple values.