由于使用的是Linux系统,在使用沙箱时需要生成公钥和私钥,更具官方说明,Linux只能使用OpenSSL。
一、下载&安装
到 OpenSSL 官网下载源码进行编译,然后安装。
-
下载源码
wget https://www.openssl.org/source/openssl-3.0.0-alpha9.tar.gz
-
解压
tar -zxvf openssl-3.0.0-alpha9.tar.gz
-
配置安装路径
我安装在/usr/local/program/openssl
。- 进入安装目录
cd openssl-3.0.0-alpha9
- 配置
./Configure --prefix=/usr/local/program/openssl
-
编译
make
- 安装
sudo make install
二、使用
使用示例:使用OpenSSL工具生成RSA密钥
- 进入OpenSSL
openssl
- 生成私钥
genrsa -out app_private_key.pem 2048
- 将私钥转换成PKCS8格式(Java开发者需要)
pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem
- 生成公钥
rsa -in app_private_key.pem -pubout -out app_public_key.pem
- 退出OpenSSL程序
exit
生成的文件:
经过以上步骤,开发者可以在当前文件夹中(OpenSSL运行文件夹),看到 app_private_key.pem(开发者RSA私钥,非 Java 语言适用)、app_private_key_pkcs8.pem(pkcs8格式开发者RSA私钥,Java语言适用)和app_public_key.pem(开发者RSA公钥)3个文件。开发者将私钥保留,将公钥提交给支付宝配置到开发平台,用于验证签名。以下为私钥文件和公钥文件示例。
TIPS:对于使用Java的开发者,需将生成的pkcs8格式的私钥去除头尾、换行和空格,作为私钥填入代码中; 对于.NET和PHP的开发者来说,无需进行pkcs8命令行操作。