從 Currencycloud 接收資訊時,信任其保密性和完整性至關重要。
這意味著您可以完全放心,我們會防止敏感資訊落入不該落入的人手中,同時確保資訊落入合適的人手中。您可以完全放心,從 Currencycloud 收到的任何資訊都沒有被篡改過。
我們在推播通知中引入訊息驗證功能,是提高推播通知完整性的最新舉措。
什麼是推播通知?
Currencycloud 的自動通知功能使用戶能夠即時了解交易進度並即時取得更新。
我們的推播通知(webhook)讓用戶隨時了解每一步的進展。當交易狀態變更時,可以向客戶選擇的終端或電子郵件地址發送通知。無論您是使用我們的 API 還是 Currencycloud Direct,這都是讓您和您的用戶隨時了解最新動態的非常有效的方式。
什麼是訊息驗證?
訊息驗證功能可讓您確認訊息是否來自 Currencycloud,且未被竄改。我們會在通知中附加一個基於雜湊的訊息認證碼 (HMAC),您可以使用該認證碼來確認訊息的完整性。
我是一名開發人員,它是如何運作的?我需要了解哪些內容?
第一步:產生金鑰
只有您才能產生的金鑰會在訊息接收者(您)和訊息發送者(Currencycloud)之間共用。您可以透過 Currencycloud Direct 或我們的API 端點建立或重新整理此隨機產生的金鑰。
產生金鑰的功能將需要新的權限才能使用,因此您可以決定帳戶中的哪些聯絡人可以執行此操作。
第二步:準備推播通知
Currencycloud 使用只有您知道的金鑰和原始訊息內容,透過強大的雜湊演算法 (SHA-512) 產生 HMAC。此程式碼將附加到您收到的任何通知中,使用相同的金鑰和雜湊演算法,您將能夠計算 HMAC。下面可以看到一個例子:
步驟 3:訊息驗證:
收到訊息後,您需要使用金鑰、訊息內容和相同的雜湊演算法(SHA-512)來計算 HMAC。
如果計算出的 HMAC 與訊息標頭中的 HMAC 匹配,那麼你就能夠透過加密方式證明訊息的真實性。
請注意: 請務必將訊息內容原封不動地傳送給校驗和驗證器-例如,確保沒有新增任何額外的字元(例如空格或換行符)。
如何產生安全金鑰?
您可以透過我們 Direct 平台上的「個人資料頁面」產生金鑰。或者,您可以呼叫產生 HMAC 金鑰 API(/v2/contacts/generate_hmac_key)。只有當您登入的聯絡人擁有正確的權限時,您才能產生金鑰—因此請聯絡您的客戶成功經理以啟用此功能。根據需要隨時產生新的密鑰。
我可以在推播通知的哪個位置看到 HMAC?
HMAC 將在訊息傳遞之前附加到訊息標頭。您無需計算 HMAC 即可讀取訊息內容,只有在您想要驗證其完整性時才需要計算 HMAC。
如何驗證 HMAC?
若要驗證推播通知的完整性,您需要使用通知的完整內容和您的金鑰計算訊息的雜湊值,例如:
$ echo -n '<notification_content>'| openssl dgst -sha512 -hmac "我的金鑰" (stdin)= 8b472cf04424acd33c3e6e3e74a821929fda2511d034dcd992d3ef3009f9834b fd042d2215de1583c4d57b90a7299e3e9f765e1ec5de003b73d7666d8a284027
結果應該與你在訊息頭中收到的 HMAC 完全相同。