认证
RSA认证
签名请求
- 生成你的私钥, 用
appRsaPrivateKey
表示, 用于签名请求,长度为2048。 - 构建要签名的字符串
Content_To_Be_Signed
. - 使用
SHA256WithRSA
加密算法计算并生成签名。 - 将生成的签名添加到请求正文参数
sign
中。
有关每个步骤的更多信息,请参阅以下示例。
签名计算步骤
1. 生成密钥对
- 签名使用RSA算法。通信双方生成一组RSA密钥并交换公钥。请求时,私钥用于签名,接收请求的一方使用公钥进行验证。请求则需要按照以下方法生成一套私钥,然后将公钥上传给PayCloud.
如果使用Java语言,私钥的格式为PKCS8,而其他语言使用PKCS1。密钥的长度为2048。公钥的格式通常是PEM,一些语言(如C#)需要DER格式的公钥,这些公钥可能需要转换。
- 如果您不知道如何生成RSA2密钥,我们建议您使用以下工具,只需单击一下即可生成密钥、生成签名和验证签名:
PayCloud Key Tool

- 您也可以使用openssl手动生成RSA2密钥,如下所示:
# 1. Generating the private key
openssl genrsa -out client_private_key_php_dotnet.pem
# 2. If you are a Java developer, convert the private key to PKCS8 format, other development languages use the PKCS1 format
openssl pkcs8 -topk8 -inform PEM -in client_private_key_php_dotnet.pem -outform PEM -nocrypt -out client_private_key_pkcs8.pem
# 3. Generate the public key
openssl rsa -in client_private_key_php_dotnet.pem -pubout -out client_public_key_php_dotnet.pem
# 4. Generate the private key that can be used in Java
cat client_private_key_pkcs8.pem | grep -v "^\-" | tr -d "\n" | sed 's/%$//' > client_private_key_java.pem
# 5. Generate the public key that can be used in Java
cat client_public_key_php_dotnet.pem | grep -v "^\-" | tr -d "\n" | sed 's/%$//' > client_public_key_java.pem