获取API凭证
API凭证包括客户ID、ZOLOZ交易密钥对和商户交易密钥对。为确保您的业务与ZOLOZ服务之间能够安全地传输报文,需要对传输报文进行签名、验证、加密和解密,因此需要您提前准备好API凭证。
前提条件
API凭证介绍
下表列出了信息安全传输中所需的API凭证,以及API凭证的定义和用途。
API凭证 | 描述 | 用途 |
客户ID | 商户账号的唯一标识。 | 用于识别报文发送端。在请求签名和响应验证的内容中均包含客户ID。 |
ZOLOZ交易密钥对 | ZOLOZ提供的密钥对,包含一个公钥和一个私钥。 | 公钥的用途:
私钥的用途:
|
商户交易密钥对 | 商户提供的密钥对,包含一个公钥和一个私钥。
| 公钥的用途:
私钥的用途:
|
- 客户ID和ZOLOZ交易密钥对:在创建ZOLOZ管理员账号时由系统自动生成,您可以在ZOLOZ门户中获取客户ID和ZOLOZ交易公钥,私钥由ZOLOZ保存。
- 商户交易密钥对:可以通过以下两种方式获取。
- 方式一:通过ZOLOZ门户自动生成商户交易密钥对。当用于测试场景,想要快速在ZOLOZ门户注册商户交易公钥时,建议使用此方法。
- 方式二:自己手动创建商户交易密钥对,并将生成的公钥通过ZOLOZ门户注册。当处于生产环境时,为了您的私钥安全,建议使用此方法。
获取API凭证
- 使用管理员账号登录ZOLOZ门户。
不同的站点和环境对应的ZOLOZ门户地址不同,请根据您的实际站点和环境选择登录地址。详细信息,请参见选择站点和环境。 - 在左侧导航栏,选择Integration > API Key。
- 复制Client ID和ZOLOZ transaction public key对应的字符串,并保存到本地供后续使用。
- Client ID:客户ID。
- ZOLOZ transaction public key:ZOLOZ交易公钥。
- 创建商户交易密钥对。
商户交易密钥对支持自动生成和手动创建,请参见附录:创建商户交易密钥对。 - 单击Submit,在ZOLOZ门户中注册商户交易公钥。
附录:创建商户交易密钥对
以下介绍自动生成和手动创建商户交易密钥对的方法,您可以选择一种方法进行创建。
注意:无论是自动生成还是手动创建商户交易密钥对,都需要在ZOLOZ门户中注册商户交易公钥。
自动生成商户交易密钥对
- 在API Key页面,单击Auto-generate,系统会为商户自动生成一个RSA密钥对。
- 商户交易公钥对应的字符串会自动填写到Merchant transaction public key字段,请勿修改该字段的内容。
- 商户交易私钥会自动下载到您的本地,文件名为
merchant_private_key.pem
,请您妥善保管,不要与任何人共享。
注意:ZOLOZ不保存商户交易私钥,且ZOLOZ团队从不要求您提供商户交易私钥。
- 单击Submit,在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页面中的Merchant transaction public key字段。
- 单击Submit,在ZOLOZ门户中注册商户交易公钥。