本文目录一览:
php rsa密钥经过pkcs8编码的怎么进行签名
签名代码:
static protected function sign($data,$priKey) {
$res = openssl_get_privatekey($priKey);
//调用openssl内置签名方法,生成签名$sign
openssl_sign($data, $sign, $res);
//释放资源
openssl_free_key($res);
//base64编码
$sign = base64_encode($sign);
return $sign;
}
php如何做数字签名?
概括就是:“学会用PHP的openssl扩展!!”
1、先用openssl_pkey_new()函数产生一个私钥pri_key,
2、用openssl_csr_new()函数以私钥pri_key 产生一个信用证csr
3、用openssl_sign()函数以私钥pri_key对一段数据data产生一个数字签名signature。
4、用openssl_pkey_get_public()函数从信用证csr中获得公钥pub_key
5、把公钥pub_key、数字签名signature、数据data发给对方。
6、对方收到3项后,用openssl_verify()函数或其他验证工具,验证签名。
7、对方验证有效,开始使用你的信息data。验证无效,再找你扯皮。
整个过程的双方可以互换,即可让对方出具三项,你来验证。
PHP SHA256WithRSA签名和验签
语法是这样的:
openssl_sign(“您要签名的数据”,”签名后返回来的数据”,”签名的钥匙/可以是公钥签名也可以是私钥签名,一般是私钥加密,公钥解密”)