美文网首页
Warning: openssl_sign()

Warning: openssl_sign()

作者: _伽蓝寺听雨声 | 来源:发表于2017-06-20 11:44 被阅读199次

    支付宝服务窗php的demop报错 Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in

    服务器上PHP环境支持openssl_sign()但却不支持 OPENSSL_ALGO_SHA256这样的参数,问了一下大佬,才发现这个参数是在php5.4.8以上版本才支持,低版本的是使用的SHA256,于是乎试了一下,搞定!

    报错原因是支付宝的demo中AopClient.php文件里使用到了这样的语句:

    if ("RSA2" == $signType) {

    openssl_sign($data, $sign, $res,OPENSSL_ALGO_SHA256);

    } else {

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

    }

    解决办法就是把 OPENSSL_ALGO_SHA256 改成SHA256

    if ("RSA2" == $signType) {

    openssl_sign($data, $sign, $res,SHA256);

    } else {

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

    }

    注意:这个文件中共有三处,要全部修改好!

    修改完后报错信息就换了,

    Fatal error: Uncaught exception 'Exception' with message 'check sign Fail!

    很明显,验签没通过,

    记住代码里填写的是支付宝公钥,不是应用公钥哦

    相关文章

      网友评论

          本文标题:Warning: openssl_sign()

          本文链接:https://www.haomeiwen.com/subject/xeuoqxtx.html