"SHA256withRSA" 是一种签名算法,结合了 SHA-256 哈希算法和 RSA 加密算法。
RSA数字证书公钥密钥生成:
在Linux系统下运行以下命令生成:
如果提示输出密码,可以为空,直接回车
生成的公钥rsa_public_key.pem和密钥rsa_private_key.pem文件在当前目录下
# openssl
# genrsa -out rsa_private_key.pem 2048 Generating RSA private key, 2048 bit long modulus
# pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
# rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
签名算法sha256withrsa:
$string:需要加密的字符串
$binary_signature:加密后保存到该变量中
$this->privateKey:RSA的私钥。(使用file_get_contents()读取私钥文件获取);
openssl_sign($string, $binary_signature, $this->privateKey, OPENSSL_ALGO_SHA256);
实例:
签名算法使用sha256withrsa算法,我方和渠道伙伴需交换RSA数字证书公钥用于验证签名,签名时,使用RSA数字证书私钥对签名参数串进行签名,RSA密用2048位及以上的,将签名值使用B