接收来自 Currencycloud 的信息时,请务必信任其保密性和完整性。
这意味着您可以完全相信,我们会确保将敏感信息发送给正确的人,而且您从 Currencycloud 收到的所有信息均未经任何篡改。
我们推送通知中采用的消息验证是提高其完整性的最新举措。
什么是推送通知?
Currencycloud 的自动通知功能让用户可以实时了解并即时更新交易进展情况。
我们的推送通知(Webhook)让用户清晰了解每个步骤。当交易状态发生变化时,可向客户选择的端点或电子邮件地址触发通知。无论您使用我们的 API 还是 Currencycloud Direct,这都是让您和您的用户了解最新进展的有效方式。
什么是消息验证?
消息验证使您可以验证消息是否来自 Currencycloud 并且未经篡改。我们会将基于哈希的消息验证代码 (HMAC) 附加到通知中,以便您确认消息的完整性。
我是一名开发人员,操作方法是什么?我需要了解什么?
第 1 步:生成秘钥
消息接收者(您)和消息发送者 (Currencycloud) 之间只会共享您生成的密钥。您可以通过 Currencycloud Direct 或我们的 API 端点创建或刷新该随机生成的密钥。
可否生成密钥取决于新的权限,您可以决定账户中的哪些联系人可以执行此操作。
第 2 步:准备推送通知
Currencycloud 使用只有您知道的密钥和原始消息内容,通过强大的哈希算法 (SHA-512) 生成 HMAC。此代码将被附加到您收到的任何通知,而您可使用相同的密钥和哈希算法计算 HMAC。示例如下:
第 3 步:消息验证:
您在收到消息后,需要使用密钥、消息内容和相同的哈希算法 (SHA-512) 计算 HMAC。
如果计算出的 HMAC 与消息标题中的 HMAC 匹配,则可以加密方式证明消息的真实性。
请注意: 请务必确保发送至校验验证器的消息内容与收到的完全一致——例如,确保未添加任何额外字符(如空格或新行)。
如何生成安全密钥?
您可以通过我们 Direct 平台上的“个人资料页面”生成密钥,或者可以调用“Generate HMAC Key API”(/v2/contacts/generate_hmac_key)。只有您登录的联系人具有相应权限时,才可以生成密钥——因此请与您的客户成功经理联系以启用此功能。新密钥可根据需要经常生成。
HMAC 显示在推送通知的什么位置?
HMAC 将在消息发送之前附加到其标题。您无需计算 HMAC 来读取消息内容,仅当您希望验证其完整性时才需使用。
如何验证 HMAC?
若要验证推送通知的完整性,您需要使用完整通知内容和您的密钥来计算消息的哈希值,例如:
$ echo -n ‘<notification_content>’| openssl dgst -sha512 -hmac "My Secret Key" (stdin)= 8b472cf04424acd33c3e6e3e74a821929fda2511d034dcd992d3ef3009f9834bfd042d2215de1583c4d57b90a7299e3e9f765e1ec5de003b73d7666d8a284027
其结果应该与您在邮件标题中收到的 HMAC 相同。