@TOC
百度小程序支付生成秘钥(OpenSSL安装使用)
老实说百度对于普通用户真的不是很友好 , 在申请开通支付服务的时候 , 看到配置支付公钥一脸的懵! 点击查看 生成秘钥规则 跳转到百度支付配置文档 , 秘钥生成需要用到 OpenSSL命令生成 公钥 , 秘钥 ; 是不是很懵 , 官方不提供生成工具 , 只能用户自主解决 ; 首先我们要安装 ActivePerl 和 OpenSSL ;
安装 OpenSSL
下载地址: http://slproweb.com/products/Win32OpenSSL.html
打开下载网站后下拉选择exe或者msi直接下载 , 一直点下一步, 直至安装完成
还有一种安装方式需要自己编译OpenSSL比较麻烦 需要先安装 ActivePerl 和 VS2005等软件;
~~ 如下 ~~
安装 ActivePerl
- 下载地址: https://www.activestate.com/products/perl/downloads/
选择5.26版本的就可以 , 下载完成后直接运行ActivePerl-5.26.msi文件 , 安装和OpenSSL一致 , 环境会自动配置 , 不用再手动配置 - 下载openssl源码编译 , 下载地址: https://www.openssl.org/source/ 下载完成后直接解压 ;
- 配置VS2005的环境变量 , 编译openssl 需要vs2005自带的nmake工具, 不然会报nmake not found
; 执行VS2005的bin目录下的vcvars32.bat文件完成VS2005配置。 - 配置openssl ,找到openssl压缩文件所在目(例如:C:\openssl-3.0.0-alpha15);进入openssl的目录C:\openssl-3.0.0-alpha15中,打开命令窗口执行“perl Configure VC-WIN32”即可完成配置。
- 在openssl的目录下执行ms\do_masm,不能进入到ms下面直接执行do_masm,否则会报找不到文件“util\makfiles.pl”。
- 在openssl目录下(C:\Program Files\openssl-1.0.1g)执行“nmake -f ms\ntdll.mak” , 如果报 nmake 相关错误要检查第3步VS2005配置是否有问题 , 在环境变量中查看是否正确 ;执行命令“nmake -f ms\ntdll.mak test” 进行测试;
- openssl编译完成之后,会在其目录下生成out32dll文件
OpenSSL 生成百度秘钥
- 在openssl目录中打开Bash脚本 执行 openssl genrsa -out rsa_private_key.pem 1024 命令, 出现 e is 65537 (0x010001) 类似提示就生成成功;
- 如果是JAVA 需要将私钥转换成PKCS8格式 , 执行 openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem 出现 writing RSA key就成功转换
- 根据私钥生成公钥 执行 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 出现 writing RSA key就生成成功
- 执行 openssl rsa -text -in rsa_private_key.pem 查看对应私钥和公钥 , 也可在openssl 目录查看 , 目录中有 rsa_private_key.pem , rsa_private_key_pkcs8.pem 和 rsa_public_key.pem 这三个文件
百度支付服务配置
配置百度支付时 填写公钥需要把 开头的 -----BEGIN RSA PRIVATE KEY----- 和 结尾 -----END RSA PRIVATE KEY----- 以及空白符去掉