获取 API 凭证
为了您的业务与 ZOLOZ 服务之间能够安全传输信息,需要对传输消息进行签名、验证、加密和解密。因此需要您提前获取 API 凭证。
前置条件
- 您已了解 网关协议 和 信息传输安全 中的信息,以便创建 API 请求和处理具有安全考虑的响应。
- 您已拥有 ZOLOZ 门户的管理员账号。有关如何设置 ZOLOZ 门户帐户的更多信息,请参见 ZOLOZ 账号设置。
关于任务
下表显示了信息安全传输中所需的 API 凭证,以及 API 凭证的定义和用途。
API 凭证 | 描述 | 用途 |
客户 ID | 账号的唯一标识。 | 用于识别消息发送端。 在请求签名的内容和响应验证的内容中均包含客户端 ID。 |
ZOLOZ 交易密钥对 | ZOLOZ 提供的密钥对,包含一个公钥和一个私钥。 | 公钥的用途:
私钥的用途:
|
客户端交易密钥对 | 客户端提供的密钥对,包含一个公钥和一个私钥。 | 公钥必须在 ZOLOZ 门户注册,其用途为:
私钥的用途:
|
客户 ID 和 ZOLOZ 交易密钥对由 ZOLOZ 在创建管理员账号时自动生成。您可以从 ZOLOZ 门户获取客户 ID 和 ZOLOZ 交易公钥。
客户端交易密钥对可以通过以下两种方式来获取:
- 由 ZOLOZ 门户自动生成。当您出于测试目的,想要快速在 ZOLOZ 门户注册客户端公钥时,建议使用此方法。
- 自行手动生成,并将手动生成的公钥通过 ZOLOZ 门户注册。当您在生产环境中时,为了您的私钥安全,建议您使用此方法生成客户端密钥对。
该任务包括以下两部分:
- 在 ZOLOZ 门户中直接获取 API 凭证:如何使用 ZOLOZ 门户获取 API 凭证以供使用,包括:
- 获取客户端 ID 和 ZOLOZ 交易公钥。
- 生成客户端交易密钥对并在 ZOLOZ 门户中注册客户端交易公钥。
- 手动生成客户端密钥对:如何手动生成客户端交易密钥对,并在ZOLOZ门户中注册客户端交易公钥。
操作步骤
从 ZOLOZ 门户直接获取 API 凭证
- 使用您的用户名和密码登录 ZOLOZ 门户,然后进入 API Key 配置页面。
- 复制 Client ID 对应的字符串,并将其保存在本地以供后续使用。
- 复制 ZOLOZ transaction public key 对应的字符串,并将其保存在本地以供后续使用。
- 点击 Auto-generate 按钮,将为客户端自动生成一个 RSA 密钥对,其中
- 客户端公钥对应的字符串将自动填写到 客户端交易公钥 对应的字段中。
注意:请勿修改 客户端交易公钥 对应的内容。 - 客户端私钥对应的字符串将以名为 Mercer_private_key.pem 的文件自动下载到您的本地。请妥善保管客户交易私钥,不要与任何人共享。
注意:ZOLOZ 不保存客户端交易私钥,并且ZOLOZ 团队从不要求您提供客户端交易私钥。
- 点击 提交 按钮,则在 ZOLOZ 系统中注册客户端交易公钥。
手动生成客户端密钥对
您可以使用 OpenSSL 工具包或 KeyPairGenerator Java 类手动生成客户端交易密钥对。下面是两个示例:
示例 1:OpenSSL 工具包
copy
# Generate the private key, which will be used to sign your request.
# Note: this key cannot be directly used for Java. You need to transform the key to the PKCS8 format.
openssl genrsa -out priv_key_tmp.pem
# Transform the private key to the PKCS8 format if Java is used
openssl pkcs8 -topk8 -inform PEM -in priv_key_tmp.pem -outform PEM -nocrypt -out priv_key.pem
# Generate the public key
openssl rsa -in priv_key_tmp.pem -pubout -out pub_key.pem
# Generate the public key that is applicable to Java
cat pub_key.pem | grep -v "^\-" | tr -d "\n" | sed 's/%$//' > pub_key.base64
示例 2:Java 类
copy
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
SecureRandom secureRandom = new SecureRandom();
keyPairGenerator.initialize(2048, secureRandom);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
Key publicKey = keyPair.getPublic();
Key privateKey = keyPair.getPrivate();
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());
生成公钥后,您需要登录 ZOLOZ 门户,将客户端公钥对应的字符串拷贝到 API Key 配置页面中 客户端交易公钥 对应的字段,然后点击 提交 按钮。