Maison > cadre php > PensezPHP > le corps du texte

Problème d'échec de la vérification de la signature de rappel asynchrone Alipay du site Web thinkphp

藏色散人
Libérer: 2020-07-03 13:26:58
avant
3378 Les gens l'ont consulté

La colonne de didacticiel suivante du framework thinkphp vous présentera le problème de l'échec de la vérification de la signature de rappel asynchrone Alipay sur le site Web thinkphp. J'espère qu'elle sera utile aux amis dans le besoin. !

Problème d'échec de la vérification de la signature de rappel asynchrone Alipay du site Web thinkphp

Un projet en cours utilise le paiement du site Web mobile Alipay. Le projet est réalisé avec tp. Après avoir téléchargé le SDK Alipay et l'avoir modifié, il peut être appelé normalement. est également accessible, mais elle est asynchrone. La vérification de la signature de l'interface échoue toujours avec une erreur, et elle est attribuée à la ligne 580 de AopClient.php La section de code inférieure

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);
}
Copier après la connexion

s'imprime print_r(openssl_error_string());, et le le résultat est

error:0906D06C:PEM routines:PEM_read_bio:no start line
Copier après la connexion

Baidu n'a aucun résultat, a dit quelqu'un. Les certificats étaient tellement foirés avec des erreurs qu'il était inutile pour moi de changer les certificats.

Plus tard, j'ai découvert par hasard qu'il y avait un problème avec la saisie, et j'ai finalement trouvé une raison :

Lorsque vous recevez des notifications asynchrones Alipay ici, vous ne pouvez pas utiliser la fonction I

$data=I("post.");//项目中这样写,导致支付宝传来的数据部分特殊字符被过滤,具体主要是fund_bill_list和sign这两部分
$data=$_POST;//写成这样就好了
Copier après la connexion

Encore une chose :

Peu importe si la vérification de la signature est correcte ou non, openssl_error_string() affiche toujours error:0906D06C:PEM routines:PEM_read_bio:no start line C'est ma situation et je ne suis pas entré dans les détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!