- Biz-Api-Key:用于请求的 API Key。更多详情,请参阅 API Key。
- Biz-Api-Nonce:随机数。随机数是以毫秒为单位的当前 Unix 时间戳。
- Biz-Api-Signature:API 签名。要了解如何计算 API 签名,请参阅计算 API 签名。
API Key 和 API Secret
为了实现客户端与 Cobo 支付服务之间的安全通信和身份认证,我们使用了 API Key 和 API Secret 机制。该机制依赖于加密密钥对来验证客户端的身份和请求的完整性。API Key
API Key 是加密密钥对中的公钥。它用于识别发起 API 请求的客户端。API Secret
API Secret 是密钥对中的私钥。它用于签署 API 请求,保证其真实性和完整性。API Secret 是高度敏感的数据,请务必妥善保管并采取严格的安全措施。 API Key 和 API Secret 共同确保了客户端与 Cobo 支付服务端的通信安全:- API Key 包含在 API 请求中,使 Cobo 支付服务能够识别客户端。使用前您需要在 Cobo Portal 上注册 API Key。
- API Secret 用于生成每个 API 请求的签名。Cobo 支付服务验证签名以确认请求的真实性和防止篡改。
生成 API Key 和 API Secret
本节介绍如何使用 Ed25519 算法生成 API Key 和 API Secret。您也可以使用其他支持 Ed25519 算法的工具进行生成。 公钥将用作 API Key,私钥将用作 API Secret。使用 OpenSSL
在终端窗口中,运行以下 OpenSSL 命令生成 Ed25519 算法的密钥对:Private Key (Hex) 作为您的 API Secret,使用 Public Key (Hex) 作为您的 API Key。
使用 Python 库
-
安装
PyNaClPython 库。 在终端窗口中,运行以下命令: -
生成密钥对。
从 Python 库导入函数生成基于 Ed25519 算法的密钥对,如下所示:
注册 API Key
生成 API Key 后,您需要在 Cobo Portal 上注册密钥。要了解如何注册 API Key,请参阅发送您的第一个 API 请求。随机数
随机数为 Unix 时间戳格式的当前时间,以毫秒为单位。计算 API 签名
以下步骤介绍如何计算 API 签名。-
首先,基于您的请求拼接出一个字符串,如下所示:
str_to_sign =
{METHOD}|{PATH}|{TIMESTAMP}|{PARAMS}|{BODY}字段 描述 示例 METHOD HTTP 方法。 GETPATH API 端点。 /v2/payments/topup/addressTIMESTAMP 以毫秒为单位的当前 Unix 时间戳。该值必须与请求头中的随机数相同。 1718587017026PARAMS (如有)查询参数。 chain_id=ETH&limit=10BODY (如有)原始请求包体的字符串格式。 {"name":"Default","wallet_subtype":"Asset","wallet_type":"Custodial"} -
使用
hashlib库对字符串进行两次 SHA-256 哈希,如下所示: -
使用 API Secret 对字符串进行签名,如下所示:
