動的に作成するパス署名サーバーを作成しようとしていますApple OpenSSLとApple)が提供する標準パステンプレートを使用してウォレットパスを作成していますが、次のチュートリアルを使用して、パスを表示します。
- https://www.raywenderlich.com/2855-beginning-passbook-in-ios-6-part-1-2
残念ながら、パスをデバイスシミュレータにインポートしようとすると、問題が何であるかを示すエラーメッセージが表示されないようです...しかし、Appleのドキュメントを確認したところ、署名プロセスに関係している可能性があると思います。 (古い)チュートリアルでは、PKCS#7の分離された署名については何も言及されていないため: Apple Wallet Documentation
私の質問は、適切な証明書でパスに正常に署名するために、チュートリアルのOpenSSLコマンドで何を調整する必要があるかです。 OpenSSLのドキュメントを確認しましたが、このプロセスはかなり新しいので、どうすればよいかわかりません。また、誰かが証明書/署名などについてもっと学ぶためのまともなリソースを持っているなら、私は助けていただければ幸いです!
これは遅れた返信ですが、同じガイドを使用しながら、今日も同様のことをしました。
実は、それは古いものですが、それでも機能します。
これが役立つかもしれないいくつかの情報です:
1).pkpass
ファイルを開くのにiOSシミュレーターは必要ありません( Apple docs で提案されているように)。Macで開くこともできます。さらに良いことに、Macでは開くことができないとエラーメッセージが表示されますが、iOSシミュレータではサイレントに失敗します。
2)これらのエラーは、MacでConsole.app
を開くと確認できます。 MacとiOSシミュレータで無効な.pkpass
を開こうとすると、どちらもConsole.app
にログエントリがあり、ヒントが得られる可能性があります。 (他のログからのノイズが多すぎる場合は、右上隅のpass
でフィルタリングしてみてください。)
3)最終的に問題がわかったのは、例を変更し、空のパスワードを使用してpasskey.pem
を生成し、openssl
がキーをpasskey.pem
ファイルに出力しなかったためです。 。最後の空の-passout pass:
に注意してください。
openssl pkcs12 -in Certificates.p12 -nocerts -out passkey.pem -passin pass: -passout pass:
もちろんこれは私に固有のものであり、あなたの問題は異なるかもしれません。署名プロセスには注意が必要です。すべてが適切である必要があります。ファイルのいずれかで1つの小さな文字を変更すると、署名全体が無効になり、パスが無効になります。 Console.appのログファイルで、セットアップに固有の手がかりをさらに取得できるはずです。
あなたの質問をより直接的に明確にして答えるために、私はあなたが例で何も調整する必要はないと思います。逐語的に続いて、それはまだ有効な.pkpass
ファイルを生成します。上記の方法を使用して、どこで問題が発生したかを特定してください。つまり、証明書が無効であるか、署名がデータと一致していません。エラーログにいくつかの手がかりがあるはずです。