Alipay モバイル インターフェイス、サーバー PHP 検証に失敗しました。助けてください
この投稿は js14654952 によって最終編集されました (2013-01-16 17:12:11)
最近、Alipay モバイル インターフェースの作業中にとても落ち込んでいます。助けてください。
質問 1: 携帯電話の Android は当然 JAVA ですが、サーバーは PHP です。 Alipay の非同期検証を行うと、Alipay のデモによると、$_POST['sign'] が失敗することがわかりました。 Base64_decode のパラメータを検証すると、返されたコードが文字化けします。ここでの質問は、JAVA 側で BASE64 で暗号化した後、PHP 側で復号化することは不可能でしょうか。解決策を見つけてください~!
質問 2: サーバー PHP 側での検証に 3 つの PEM ファイルが使用されていますが、その 3 つのファイルの形式は何ですか? Alipay のテクニカル サポートに尋ねたところ、rsa_private_key.pem と rsa_public_key.pem は、提供されているソフトウェアを使用して生成されたとのことでした。 Alipay。ヘッダーと末尾を削除せずに、キーフォルダー内の同じ名前の 2 つのファイルを直接置き換えることはできますか?それとも、先頭と末尾のスペースと改行を削除して、文字列を 1 行残すべきでしょうか? (この部分はドキュメント通りに書いたのですが、それでもダメだったのでここで質問させていただきました~!)
質問 3: 最後の pem ファイル alipay_public_key は、アップロードされた公開キーに基づいていると述べましたが、openssl 検証ファイルがロードされた後、openssl_get_publickey は空を返しました。これについて混乱したので、元のファイル rsa_public_key を openssl_get_publickey に変更して、プロンプト リソース ID #20 またはリソース ID #21
を返しました。
インターネットで徹底的に検索しましたが、これら 2 つのヒントは見つかりませんでした。これはどういう意味ですか?
アドバイスお願いします~! ~!
php
携帯電話
ドキュメント
-----解決策--------------------------------
JavaもAlipayも理解できません プログラミング経験について一言——
バイトデータに問題があるのでしょうか?
PHP ではバイトと文字列が混在しているため、これを PHP で処理する場合は注意してください
これが問題でない場合は、関連する経験を持つ人からの回答を待ってください
------解決策-------
Alipay の技術者に聞く
-----解決策-------------------------------------
次のステップでは、最初にbase64を使用せずに、元の文字列を送信して、PHPが受信したものを確認します。これにより、それがバイトデータであるかどうかを判断できます。
次に、エンコードとデコード
同じ操作がキー
に対しても実行されます------解決策----------------------非同期リターンAlipay のリクエストは、携帯電話を経由せず、Alipay サーバー (非同期的に入力した URL) によって開始されます。
まず、暗号化方式が md5 か rsa であるかを確認できます