2016-05-31 3 views
0

iOS(Objective-CまたはSwiftを使用)でPKPaymentToken(Apple支払い支払いトークン)を復号化するにはどうすればよいですか?Apple有料支払いトークンを復号化する

サーバ側で支払いトークンを暗号化することをお勧めします(理想的には支払い処理業者によって行われます)が、クライアント側(iOS側)の支払いトークンデータを復号化する場合はどうしたらいいですか?

+0

'paymentData'暗号化コンポーネントを意味しますか? –

+0

はい、 'PKPaymentToken'の中の' paymentData'を解読したいと思います。 – Mustafa

答えて

5

これを行わないでください。それはひどい考えです。支払いトークンを復号するには、秘密鍵が必要です。このキーをアプリに埋め込む必要があります。これにより、誰でもそれを取得して支払いを解読できるようになります。このため、デバイスの決済データを決して復号化しないでください。

代わりに、秘密鍵をサーバーに安全に保管してそこから復号化するか、支払いプロセッサがApple Payトークンの復号化を直接サポートするかどうかを確認してください。

+0

実稼働環境では実行しません。私はちょうど私達がクライアントの終わりでそれをすることができる方法を点検したいと思う。しかし、警告をありがとう。 – Mustafa

+0

解読プロセスは文書化されているので、CommonCryptoやOpenSSLに精通していれば、それを実装できるはずです。しかし、再び、テストのために、クライアント上でやってはいけません。それはひどい考えです。 – lxt

-1

Apple Payペイロードを復号化するプロセスは機密情報であり、Appleは支払いゲートウェイ/プロセッサのパートナーを選択するだけです。アップルペイを有効にするための商人証明書の秘密鍵はこのプロセスの一部として使用されますが、それは唯一のコンポーネントではなく、処理に使用できるカード番号(3-D Secure)を実際に受け取る複雑な一連の手順があります。

Stripeのような場所でデベロッパーアカウントにサインアップし、サンドボックス環境を使用して暗号化されたApple Payペイロードの処理をテストすることをおすすめします。 Stripeのマーチャントツールは、編集されたカード情報やその他の権限の詳細を公開します。

+1

これは間違っています。このプロセスは、https://developer.apple.com/library/ios/documentation/PassKit/Reference/PaymentTokenJSON/PaymentTokenJSON.htmlに公開されています。トークンを復号化し、トークン(カード番号)を受け取ることができます。暗号文。あなたは、これらをあなたの支払プロセッサに渡し、3DSレール上でそれらを実行します。 – lxt

+0

http://stackoverflow.com/a/37620790を参照してください。これがセキュリティで保護されたオンラインソリューションであることが求められる理由は慎重です。 –

関連する問題