私はそこに多くのソースを参照しましたが、まだこれを理解することはできません。
http://code.google.com/p/apns-php/wiki/CertificateCreation
基本的に、iOSプロビジョニングポータル>アプリIDSから開発プッシュSSL証明書をダウンロードした後(Appleプッシュ通知サービスを選択)で有効化)、証明書(ファイル名aps_development.cer)をダブルクリックして開きますキーチェーンが開きます。次に、左側のパネルで「ログイン」と「証明書」を選択します。右側のパネルに「Apple Development IOS Push Services:...」とすべての手順が表示されます。これまでに相談したところ、名前の横にある矢印をクリックして秘密キーを表示することにより、このオプションを「拡張」するように言われましたが、この証明書には拡張オプションがありません。間違った証明書をダウンロードしますか?
ありがとう
私の問題は、some理由で、さまざまな証明書が「ログイン」ではなく「システム」キーチェーンに追加されていたことでした。
「ログイン」を選択し、小さな「+」(iの隣)を付けて追加すると、適切な場所に追加されます。
左側のメニュー(キーチェーン)の[マイ証明書]をクリックすると、展開アイコンが実際に表示されることに気付きました。
この証明書にアクセスしようとしているマシン上で、証明書署名要求に署名した鍵がありますか(これに基づいてAppleその証明書を作成しました)?
その証明書を作成した人に聞いてください。これがおそらく秘密鍵を取得できる唯一の方法です。
私はまったく同じ問題を抱えていました。 .cerファイルをダブルクリックすると、証明書がキーチェーンに配置されますが、秘密キーは表示されませんでした(また、エントリは展開できませんでした)。
次の手順で問題を修正しました。
...そして出来上がり、今では秘密鍵で表示されます。とにかくキーチェーンアクセスを開いていたので、これはかなり奇妙です。
キーチェーンアクセスに移動し、以下の手順に従います...
証明書をダブルクリックしただけです。最終的に私を助けたのは、証明書を関連セクションにドラッグすることでした。
詳細については、このブログを参照してください。 p12ファイルでプッシュ通知証明書をエクスポートする方法?
秘密キーのない証明書を削除します。キーチェーンでログインを開き、Finderからファイルをログインにドラッグすると、証明書に秘密キーが追加されます。
これを同様の症状のある人を助けることを期待してここに残します-aps.cer
キーチェーンアシスタントで開く場合、証明書をインポートするキーリングを選択するダイアログが表示されます。私にとっては、秘密キーはlogin
(つまり、System
やSystem Roots
は証明書のみを表示するように思われました。
.cerファイルには秘密鍵は含まれず、公開鍵のみが含まれます。したがって、これらのソリューションはすべて、元のCSRを発行したコンピューター、または元の証明書のキーペアがキーチェーンにインポートされたコンピューターからのみ関連します。
秘密鍵にアクセスできない場合、yiouは新しい証明書を生成する必要があります。ただし、同じアプリIDに対して複数のAPNS証明書を使用する可能性があるため、Appleの証明書ポータルから古い証明書を無効にする必要はありません。
これに対する別の答え...
CSRを作成した後、実際にAppleサイトにアップロードする前に、logins-> keys =そして、新しいCSRのCommonNameに入力した名前と同じ名前の新しい公開キーと秘密キーが既にあることを確認します。
CSRをAppleにアップロードしてから証明書をダウンロードし、証明書をダブルクリックすると、キーチェーンアクセスは、ダウンロードした証明書を既にキーチェーンアクセスリストにある公開キーと照合し、秘密キーを添付します。
したがって、このすべての後に秘密鍵を取得できない場合は、CSRを再作成してみてください。
私にとって奇妙なことは、証明書を再作成するたびに同じCSRを使用できることを読んだことですが、何らかの理由でそれが機能しないことです。おそらく、交換した古い期限切れの証明書がキーチェーンアクセスリストにないため、新しく生成された証明書に一致する公開/秘密キーペアがなかったためです。