配布証明書/秘密鍵がインストールされていません


102

Xcode 9.1を使用して、iOSアプリをビルドした後、それをアーカイブしてベータテスト用にappStoreにアップロードします。しかし、ボタンUpload to the App Store...をクリックして選択すると、次の問題が発生しますAutomatically manage signing

「私の名前」にはiOS配布証明書が1つありますが、秘密鍵がインストールされていません。

この「秘密鍵がインストールされていない」理由はわかりませんが、配布証明書が別のコンピューターなどで作成された可能性があります。とにかく:

不足している秘密鍵を取得してインストールする最も簡単な方法は何ですか?物事を機能させるために。

回答:


82

配布証明書は1つしか持てません。アップルが知っている公開鍵と、一部のコンピュータのキーチェーンにある秘密鍵を結合します。この配布証明書が別のコンピューターで作成された場合、秘密鍵はそのコンピューターのキーチェーンにあります。そして、この配布証明書はそれなしでは機能しません。

したがって、このコンピューターでこの配布証明書を使用するには、そのコンピューターを見つけキーチェーンアクセスを開き、秘密キーを見つけてエクスポートし、郵送するか、このコンピューターに取得して、このコンピューターのキーチェーンにインポートする必要があります。

Xcodeの[アカウント]設定ペインに移動してチームをダブルクリックすると、これを支援するダイアログが表示されます。配布証明書が表示され、「キーチェーンにない」と表示されている場合は、その証明書をControlキーを押しながらクリックして、証明書を作成した人に電子メールを送信して送信するように求めるメニュー項目を取得できます。その人はこの同じインポートを使用して証明書のエクスポートを選択し、エクスポートした証明書をメールで送信できます。

どちらの方法でも、秘密鍵またはエクスポートされた証明書にパスワードが設定されます。パスワードを使用するには、パスワードを知っている必要があります。


1
あなたの提案に続く私の最初の裁判はうまくいきませんでした。たぶん私はそれを正しくしなかったからです。私が持っている1つの質問は、証明書が作成されたキーチェーンアクセスに行くときです。秘密キーを見つけるにはどうすればよいですか?Keychain Accessは、いくつかの場所で、何十億ものオブジェクトがすべて同じ名前で呼ばれることを示しているようです。だから、私がその部分を私がやったようにしたかどうかは、私には全くわかりません。
ミシェル

32
さて、私が今あなたに尋ねている質問をする私に自分にメールを送ることは効果的ではないでしょう:)
Michel

1
しかし、私はまだあなたの答えが正しい方向に進んだと思うので、もう少し掘り下げる必要があります。
ミシェル

ようやくこの問題を回避する方法を見つけました。しかし、残念ながら私は署名業務全体を終えていません。:私は別の質問で異なるポストを作ったstackoverflow.com/questions/47258499/...
ミシェル

この@mattをありがとう!私の場合、デバイスで作成したCSRを使用してiOS配布証明書を作成しましたが、それをキーチェーンにインストールしたときに、証明書に関連付けられた秘密鍵がありません。コンパイルはできますが、秘密キーの場所がわからないため、チームメイトにp12ファイルを渡すことができませんでした。別のケースではありますが、Xcodeの[アカウント]ペインに移動することについてのアドバイスのおかげで、それをp12にエクスポートすることができました。:)さて、すべて順調ですが、秘密鍵がどこに隠されているのか、キーチェーンの証明書と一緒に表示されていないのではないかと思っただけです。
KarenAnne

283

最新(2020年7月)(xcode 10-12)

  1. Xcode-環境設定-アカウント-証明書の管理に移動します
  2. +左下のをクリックし、次にApple development
  3. 少し待ってからクリック Done

それで全部です。また、developer.apple.comの古い証明書を取り消すこともできます。

古い答え

ステップ1:-xcode-> product-> archives-> Click Manage certificate ここに画像の説明を入力してください

ステップ2:-iOSディストリビューションを追加する ここに画像の説明を入力してください


7
プラス記号をクリックしても何も起こらないため、これは機能しません。「iOSディストリビューション」のオプションがありません。
アーノルドバード

2
Xcode> Preferences> Accountsを介してManage Certificatesにアクセスすると、上記のステップ2に示すように、プラス記号がアクティブになります。
アーノルドバード2018

11
これが最良の答えです
kishorekumaru

2
うわー:-D。私のために修正しました。それが不可能であるべきか、それともXcodeが邪魔してはいけません。
ジョシュア

3
現在Xcode 10.3 Xcode-環境設定-アカウント-証明書の管理
アントン

26

この答えは、「One Man」チームが「Team」についての情報をあまり読まずに、この問題をすばやく解決するためのものです。

ステップ1)Webブラウザーに移動し、開発者アカウントを開きます。証明書、識別子、プロファイルに移動します。証明書/製品を選択します。そこにリストされている秘密鍵が欠落していた証明書が表示されます。「取り消し」をクリックします。指示に従って、この証明書を削除します。 ここに画像の説明を入力してください ステップ2)以上です。Xcodeに戻ってアプリを検証します。新しい証明書を生成するように求められます。次に、アプリをアップロードします。


11

編集:私は他のコンピューターが死んでいると思ったので、私の答えを修正しています:

最初のコンピューターから証明書を秘密キーでエクスポートし、新しいコンピューターにインポートする必要があります。

私はiCloudの方法を好み、iCloudにバックアップして、新しいコンピューターでそれを取得します。

何らかの理由でそれができない場合は、Apple開発者サイトで証明書を取り消すことができます。次に、Xcodeに新しい証明書を作成させます。また、新しい新しい秘密鍵を作成してキーチェーンに保存します。必ずお好みの方法でバックアップしてください


2
それはひどいアドバイスです。
マット2017年

4
私の知識によると、証明書を失効させても何も問題はありません。他に何か知っていますか?
Yitzchak 2017年

はい; 彼は秘密鍵をコンピューター1からコンピューター2にエクスポートできます。あなたが助言していることは、配布証明書が他のコンピューターで機能しなくなる原因になります!なぜそれが良いのですか?
マット2017年

2
私は他のコンピュータが死んでいると思いました
Yitzchak '13 / 11/17

7

ここに新しいプロダクション証明書を追加し、.cerファイルをダウンロードしてダブルクリックしてキーチェーンに追加します。

Xcodeを再起動することを忘れないでください!!!


1
私のため誤差はまだ、思いついたことを更新するために、プラスをクリックしなければならなかったとの仕事
ザック

6

developer.apple.comのすべての配布証明書を取り消し、Xcodeでアプリを検証します。今後使用するために鍵をエクスポートした後で、新しい配布証明書を作成するオプションがあります。

この仕事は私にとって。


4

これを実行する他の誰にとっても、上記の答えは正しいですが、特に複数の証明書がある場合は、まだ少し混乱する可能性があります。これらは私がとったステップでした:

1)最初に、実際の配布証明書の秘密鍵がない日付に注意してください。次に、他のコンピューターのキーチェーンアプリケーションに移動し、検索バーにIOSと入力します。すべてのIOS開発者と配布キーが表示されるため、適切なものを見つける必要があります。

2)各IOSディストリビューションエントリの右矢印をクリックして証明書を表示し、正しい日付の証明書を見つけて、右クリックしてエクスポートを選択し、証明書をエクスポートします。

3)次に、それを新しいコンピューターのキーチェーンにインポートするだけで、少なくともXCode 9.3ですぐにそれが認識され、エラーが修正されるので、達成をアップロードできます。


ありがとう!デフォルトのビューでは、キーを展開して証明書を表示できる左矢印が表示されないことを追加します。カテゴリーパネルでキーを選択する必要があります。その後、証明書を選択してエクスポートできます。代わりに秘密鍵をエクスポートすると、他のコンピューターにインポートしたときにエラーが発生します。
Clafou 2018

4

新しいコンピューターで証明書を使用しているかどうか。最も簡単なことは、プロジェクトに関連する以前の証明書を取り消すことです。次に、ストアに再度アップロードします。Xcodeは新しいものを生成します。


4

コンピュータからキーを生成することについてのここでの人々の答えは正確です。それでも問題が解決しない場合は、証明書のインストール後にXcodeを再起動してみてください


2

私の場合、Xcodeがキーチェーンの証明書にアクセスしていなかったため、次の手順に従いました。

  1. キーチェーンから証明書を削除します。
  2. Macを再起動します。
  3. 新しい証明書を生成します。
  4. 新しい証明書をインストールします。
  5. ビルドフォルダーをクリーンアップします。
  6. プロジェクトをビルドします。
  7. ビルドフォルダーを再度クリーンアップします。
  8. 今すぐアーカイブ。うまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.