最近、顧客の Alipay サービス ウィンドウで作業していて、次のエラーが発生しました:
警告: openssl_sign() [function.openssl-sign]: 不明な署名アルゴリズムです
後で確認したところ、それが原因であることがわかりました。私のサーバーのPHP環境でサポートされているopenssl_sign()は、OPENSSL_ALGO_SHA256などのパラメータをサポートしていません。上司に聞いたところ、このパラメータはphp5.4.8以降でのみサポートされていることがわかり、SHA256を使用してみました。わかった!
エラーの理由は、Alipay のデモの AopClient.php ファイルで次のようなステートメントが使用されているためです:
if ("RSA2" == $signType) {
openssl_sign($data, $sign, $res ,OPENSSL_ALGO_SHA256 );
} else {
openssl_sign($data, $sign, $res);
}
解決策は、OPENSSL_ALGO_SHA256 を SHA256 に変更することです
RSA2 の場合」 = = $signType) {
openssl_sign($data, $sign, $res,SHA256);
} else {
openssl_sign($data, $sign, $res);
}
注: このファイルには 3 つの場所があり、すべて変更する必要があります。
以上がAlipay サービス ウィンドウの PHP デモでエラーが報告される 警告: openssl_sign() [function.openssl...の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。