当前访客身份:游客 [ 登录 | 加入开源中国 ]

问答

当前位置:
问答 » 支付宝专区 » OpenSSL

开程序员的淘宝店!寻找开源技术服务伙伴!>>> »  

做支付宝  移动支付  对接的时候,

在对支付宝的notify进行验签的时候,读取公钥总是出错;

这是回调验签的代码


/**
	 * rsa 回调验签
	 */
	private function signNotifyVerify($data, $signFromAli) {
		$pubKey = file_get_contents(dirname(__FILE__).DIRECTORY_SEPARATOR.'alikey'.DIRECTORY_SEPARATOR.C('ALIPAY_APP_CONFIG.ali_public_key_path'));//私钥文件路径
        //转换为openssl密钥,必须是没有经过pkcs8转换的私钥
        var_dump($pubKey);
        $res = openssl_get_publickey( $pubKey );
var_dump(openssl_error_string());

       // var_dump(openssl_sign($data, $sign, $res));

        $result = (bool)openssl_verify($data, base64_decode($signFromAli), $res);
        
        //释放资源
		openssl_free_key($res);

        return $result;
	}



其中的 var_dump(openssl_error_string());,总是打印出来 


error:0906D06C:PEM routines:PEM_read_bio:no start line

我的支付宝公钥文件格式是:

-----BEGIN PUBLIC KEY-----
MIG***************************************************************************************9J7
sUoCrQX7Nmo**********************************************pR/************************65n
Sbs*************************************************************+e
CZ********************QAB
-----END PUBLIC KEY-----

求帮助

李展飞 李展飞
发帖于 9个月前
1回/590阅

按默认排序  显示最新回答   共有1个回答 (最后回答: 9个月前 )

    0
  • 李展飞
    大神们,来个答案啊
    评论(0)| 引用此答案| 举报 (2016-04-07 17:34)
最新热门职位
更多开发者职位上 开源中国·招聘


回答案顶部 | 回页面顶部
有什么技术问题吗? 我要提问
类似的话题