AopClient.php の 580 行目まで追跡され、
if ("RSA2" == $signType) { $result = (bool) openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256);//这句报错 } else { $result = (bool) openssl_verify($data, base64_decode($sign), $res); }
print_r(openssl_error_string());、出力は
error:0906D06C:PEM routines:PEM_read_bio:no start line
$data=I("post.");//项目中这样写,导致支付宝传来的数据部分特殊字符被过滤,具体主要是fund_bill_list和sign这两部分 $data=$_POST;//写成这样就好了
署名検証が正しいかどうかに関係なく、
openssl_error_string() は常に
error:0906D06C:PEM Lukes:PEM_read_bio:no start line## を出力します。 #. これは私の状況であり、詳細については詳しく調べていません。
以上がthinkphp ウェブサイト Alipay の非同期コールバック署名検証失敗の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。