キーチェーンの配布証明書に秘密鍵がありません


171

どこにも解決策が見つからない次の問題があります。基本的に、企業ではなく会社の開発者アカウントを持っているので、アプリを送信するために、チームリードに配布証明書を送信し、配布プロビジョニングプロファイルを作成して送信するように依頼しました。

開発者プロファイルを使用すると、すべてが正常に機能しますが、証明書とプロビジョニングプロファイルをインストールしたときに、Xcodeに配布プロファイルが表示されず、キーチェーンのdist証明書の下に秘密鍵もありません。

誰かがこれを解決する方法を知っていますか?証明書を取り消して新しい証明書を作成する必要があることを差分の場所で読みましたが、社内にはたくさんのアプリがあり、誰でも取り消すことができないため、実際にはできません。


2
他のマシンで作成された.CSRの証明書を作成しようとしているため、秘密鍵が欠落していることがあります。したがって、証明書を作成してインストールしようとしているのと同じマシンにCSRファイルも作成する必要があります。または、.p12の証明書を使用してこの問題を回避できます
MAhipal Singh

2
私の場合、キーチェーンに2つの同じ署名証明書があります...そのうちの1つを削除するだけで解決しました...念のために...
juanram0n

回答:


168

ここに画像の説明を入力してくださいこれは一般的な問題です。解決策は簡単です。

開発者の資格情報を作成した人は、最初は自分のコンピューターのキーチェーンに移動し、プライベートおよびパブリックのキーを右クリックして、キーをファイルにエクスポートする必要があります。次に、コンピューターにそのファイルをダウンロードして開くだけで、キーチェーンに追加されます。

プロビジョニングプロファイルには、秘密鍵(.pemファイル)と証明書の両方が必要です。


36
具体的には、必要な.p12ファイルです(エクスポート)
mkral

7
@Nirma開発者の資格情報が最初に作成されたコンピューターにアクセスできない場合の対処方法。
Nishad Arora

@NishadArora使用するには新しいキーを作成する必要があります。秘密鍵なしでそれを使用する方法はありません。AFAIK
ジョシュアピンター

2
新しいものを作成する方法@Nirma
茂朱

それが誰かを助ける場合、公開証明書と秘密鍵をインストールした後(キーチェーンアクセスで確認して表示されていた)、Xcodeを再起動して秘密鍵を取得する必要がありました。OSX 10.15.5でXcode 11.6を使用する。
NHol

70

元の配布証明書の生成に使用されたMacにアクセスできる限り、それは非常に簡単です。

そのMacのキーチェーンアクセスアプリケーションを使用して、証明書と秘密キーの両方をエクスポートします。シフトまたはコマンドを使用して両方を選択し、右クリックして.p12ファイルにエクスポートします。

わかりやすくするためにスクリーンショットを添付しました。

Macで、その.p12ファイルをインポートします。これで問題ありません(有効なプロビジョニングプロファイルがあることを確認してください)。

エクスポートを選択するだけ


55

他の人の答えを追加するために、その秘密鍵にアクセスできない場合は、バックアップを実行するのはかなり簡単です。

  1. プロビジョニングポータルでアクティブな証明書を取り消す
  2. 新しい開発者証明書を作成します(キーチェーンアクセス/.../csrの要求など)
  3. 新しい証明書をダウンロードしてインストールする
  4. (プロビジョニングポータルで)既存のアプリIDの新しいプロビジョニングプロファイルを作成する
  5. 新しいプロビジョニングプロファイルをダウンロードしてインストールし、ビルドで適切なコード署名IDを設定します

13
ここ私の会社では常に混乱しています。誰がどのコンピュータで特定の証明書を作成したかは誰にもわかりません。取り消して再作成する方がいい
user2387149 '28

1
@ user2387149私は6年後にここに来て、CI / CDにこの種のことをするように勧め、xCodeによる配布を忘れます。
Edgar Salazar

すでに配布証明書をダウンロードしている場合は、取り消して再度要求します。古い配布証明書を削除する必要がありますか?
kafinsalim

14

KeyChainから既存のファイルを削除し、.p12ファイルを取得して、証明書の作成元のMacに追加します。

ソースMacから.p12を取得するには、KeyChainに移動し、証明書を展開して、両方を選択し、2つのアイテムをエクスポートします。これはあなたの場所に.p12ファイルを保存します:

ここに画像の説明を入力してください


8

私の場合、キーチェーン内のすべての秘密鍵を失っており、新しいものが正しくインポートされましたが、秘密鍵も表示されません。助けになったのは、新しいCertificateSigningRequestを生成することだけでした。


6

配布証明書を作成した元のMacではないMacを変更すると、秘密鍵が失われます。元の証明書を削除して新しい証明書を再作成するだけで、私にとってはうまくいきます〜


5

iOSビルドをアップロードしてフライトをテストしようとすると、エラーが表示されました。

"Missing privacy key"

ここに画像の説明を入力してください

このエラーを修正するための2つのステップ。

  1. developer.apple.comから古い証明書を削除する
  2. Xcodeまたはdeveloper.apple.comから新しい証明書を作成します

私の問題は解決されました(Xcode 9.4.1を使用しています)。

Xcodeが新しい証明書を作成したことを確認してください。

ここに画像の説明を入力してください


5

AppStore配布証明書の再作成を恐れている人のために、Appleのドキュメントには次のように書かれています:

重要:開発または配布の証明書を再作成しても、App Storeに送信したアプリには影響しません。また、アプリを更新する機能にも影響しません。

ただし、Apple Developer Enterpriseエコシステムのアプリに影響します。


4
エンタープライズアカウントを持っている場合は、このようになります。
MobileMon、

「企業の生態系システム」によって…。あなたが大企業で働いており、100人の開発者がその特定のアプリの秘密鍵を持っているかどうかについて話しているのですか?
petrosmm

2

メニュー> Visual Studio(mac)> Preferences> Publishing> Apple Developer Accounts> [Select your apple id]> View Details> Create Certificate

未使用/無効な証明書を削除するには、次のWebサイトにアクセスしてくださいhttps : //developer.apple.com/account/resources/certificates/list

そこで不要な証明書を削除します

次に、アプリID(識別子)を作成し、ウェブサイトにアクセスしますhttps :
//developer.apple.com/account/resources/identifiers/list

次に、Webサイトにアクセスしてプロビジョニングプロファイルを作成します。https
//developer.apple.com/account/resources/profiles/add

証明書を使用してアプリIDにバインドします。

次に、プロファイルをダウンロードし
ます。Macで>メニューで> Visual Studio(mac)>設定>公開> Apple開発者アカウント> [Apple IDを選択]>詳細を表示>すべてのプロファイルをダウンロード


1

Appleの開発者用Webサイトでその証明書にアクセスし、ダウンロードした後、それを開きました。同様に、開いたときに、証明書をキーチェーンに追加するかどうかを尋ねる小さなウィンドウが表示されました。「追加」をタップするだけで、「秘密鍵がありません」というエラーがなくなりました。


1

Xcodeが新しい配布証明書の作成に失敗した後、この状況(「秘密鍵がありません」)に遭遇しました-不明なエラーが発生しました。

次に、秘密鍵の取得や新しい証明書の生成に苦労しました。Xcodeの証明書マネージャーから、「入力したパスフレーズが間違っています」などの奇妙なエラーが発生しました。しかし、それは私にどんなパスフレーズも要求しませんでした。

私を助けたのは:

  1. developer.apple.comで機能しないすべての配布証明書を取り消す
  2. Macを再起動します

その後、Xcodeは新しい配布証明書を作成でき、秘密鍵が欠落していませんでした。

教訓:Windowsと同じくらいMacを再起動する;)


0

証明書を追加するためにログインを使用しているかどうかを確認します。左上にあるシステムをチェックインしている場合は、表示されません。

.cerをドラッグしてログインにドロップし、秘密鍵を取得できるかどうかを確認します。


0

これに光を当てるだけです。

キーチェーンからp12証明書を削除した後。Apple開発者ポータルから自分の証明書を再ダウンロードしました。

証明書しかダウンロードできませんでした。ただし、署名するには秘密鍵も必要です。だからあなたはどちらか:

  • キーチェーンから秘密鍵と証明書の両方をエクスポートして取得します。

  • 証明書署名要求をアップロードして新しい証明書を生成する

その証明書自体は、署名の目的には使用できません。私の推測では、秘密鍵は「認証局に証明書を要求する」瞬間にキーチェーンによって作成されますが、その結合証明書を追加するまで表示されません。

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