Jelajahi Sumber

add url param in Signature test

shayne_lo 4 bulan lalu
induk
melakukan
b7e7284e54
1 mengubah file dengan 13 tambahan dan 6 penghapusan
  1. 13 6
      ConsoleApp1/OCPPAuth/Signature.cs

+ 13 - 6
ConsoleApp1/OCPPAuth/Signature.cs

@@ -1,4 +1,5 @@
-using System;
+using Microsoft.AspNetCore.Mvc;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Security.Cryptography;
@@ -12,14 +13,20 @@ namespace ConsoleApp1.OCPPAuth
         public static void Test()
         {
             string signature = GetSignature(
-                timestamp: "1731483946",
-                partnerid: "523E6CE1-8BA4-4D88-8895-AC05F5B3AE8F",
-                saltkey: "L^u9d2Rt@C");
+                timestamp: "1731561763",
+                partnerid: "8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7",
+                saltkey: "gfdfgy!12",
+                requestUrl: "http://ebus-coreapi.azurewebsites.net/api/v1/ocpp16/diagnostics?ChargeBoxId=AXLU111001D1P1ZERO&Location=https://buscharge.zerovatech.com/service/File/&StartTime=2024-11-14&StopTime=2024-11-14");
         }
 
-        private static string GetSignature(string timestamp, string partnerid, string saltkey)
+        private static string GetSignature(string timestamp, string partnerid, string saltkey , string requestUrl = "", string requestBody = "")
         {
-            var unencodeText = $"{timestamp}{partnerid}{saltkey}".ToLower();
+            string diplayUrl = requestUrl.Replace("%20", " ").Replace(@"\\", @"\");
+            string tempText = diplayUrl.Substring(diplayUrl.IndexOf('?') + 1).ToLower();
+            tempText = tempText.StartsWith("http") ? string.Empty : tempText;
+            var body = $"{tempText}{requestBody}";
+
+            var unencodeText = $"{body}{timestamp}{partnerid}{saltkey}".ToLower();
             var signature = GetSignature(unencodeText);
             return signature;
         }