從 Currencycloud 接收資訊時,信任其機密性和完整性至關重要。
這意味着您可以完全相信,我們會在確保敏感資訊送達正確人員的同時,防止其送達錯誤人員。您可以放心,您從 Currencycloud 收到的任何資訊均未被篡改。
在我們的推送通知中引入訊息驗證功能,是提高其完整性的最新舉措。
什麼是推送通知?
Currencycloud 的自動化通知功能可讓使用者實時了解並即時更新交易進展情況。
我們的推送通知(網絡鈎子)可讓使用者隨時了解每一步的情況。當交易狀態發生變化時,可以向客戶選擇的端點或電子郵件地址觸發通知。無論您使用的是我們的 API 還是 Currencycloud Direct,都是讓您和您的使用者跟進最新情況的有效方式。
什麼是訊息驗證?
訊息驗證讓您能夠驗證訊息是否來自 Currencycloud 且未被篡改。我們會在通知中附加一個散列訊息認證碼 (HMAC),您可以使用它來確認訊息的完整性。
我是一名開發人員,它是如何工作的以及我需要知道些什麼?
第 1 步:生成密鑰
只有您生成的密鑰在訊息接收者(您)和訊息發送者 (Currencycloud) 之間共享。您可以透過 Currencycloud Direct 或我們的 API 端點創建或刷新此隨機生成的密鑰。
生成密鑰的功能將置於新權限之後,因此您可以決定賬戶中的哪些聯絡人可以生成密鑰。
第 2 步:準備推送通知
使用只有您知道的密鑰和原始訊息內容,Currencycloud 透過強大的散列算法 (SHA-512) 生成 HMAC。該認證碼將附加到您收到的任何通知中,您可以使用相同的密鑰和散列算法計算 HMAC。請看下面的示例:
第 3 步:訊息驗證:
當您收到訊息時,您需要使用密鑰、訊息內容和相同的散列算法 (SHA-512) 來計算 HMAC。
如果計算出的 HMAC 與訊息標頭中的 HMAC 一致,那麼您就能夠以加密方式證明訊息的真實性。
請注意: 至關重要的是,發送到校驗和驗證器的訊息內容必須與接收到的內容完全一致,例如,確保沒有添加額外字符(例如空格或換行符)。
如何生成安全密鑰?
您可以透過我們的 Direct 平台上的「個人資料頁面」生成密鑰。或者,您可以調用生成 HMAC 密鑰 API (/v2/contacts/generate_hmac_key)。僅當您登錄的聯絡人具有正確的權限時,您才能夠生成密鑰。因此請與您的客戶成功經理聯絡以啟用此功能。根據需要隨時生成新的密鑰。
在推送通知的哪個位置可以看到 HMAC?
HMAC 將在訊息發送之前附加到訊息標頭中。讀取訊息內容時不需要計算 HMAC,僅當希望驗證其完整性時才需要。
如何驗證 HMAC?
要驗證推送通知的完整性,您需要使用通知的完整內容和您的密鑰來計算訊息的散列值,例如:
$ echo -n ‘<notification_content>’| openssl dgst -sha512 -hmac "My Secret Key" (stdin)= 8b472cf04424acd33c3e6e3e74a821929fda2511d034dcd992d3ef3009f9834bfd042d2215de1583c4d57b90a7299e3e9f765e1ec5de003b73d7666d8a284027
結果應與您在訊息標頭中收到的 HMAC 相同。