web-dev-qa-db-ja.com

署名Apple Wallet Pass OpenSSL

動的に作成するパス署名サーバーを作成しようとしています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
loganb

これは遅れた返信ですが、同じガイドを使用しながら、今日も同様のことをしました。

iOS 6での通帳の開始:パート1/2

実は、それは古いものですが、それでも機能します。

これが役立つかもしれないいくつかの情報です:

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ファイルを生成します。上記の方法を使用して、どこで問題が発生したかを特定してください。つまり、証明書が無効であるか、署名がデータと一致していません。エラーログにいくつかの手がかりがあるはずです。

1
naartjie