証明書を取得しようとしたときのエラー:指定されたアイテムがキーチェーンに見つかりませんでした


110

アプリのコード署名に問題があったため、キーチェーンからすべてのキーを削除しました。次に、証明書アシスタントに移動しました=>認証局に証明書をリクエストします(新しい証明書のCSRを作成するため)。

だから私のメールアドレスを入力してください、そしてここに私が得るものがあります:

指定されたアイテムがキーチェーンに見つかりませんでした。

何が悪いのですか?

PS 認証局作成しようとすると、同じエラーが発生します。


1
同じエラーが発生します。あなたの答えまたはそれを行う方法を知っている誰かを詳しく説明してください
Iducool 2013

9
KeyChain Accessを再
起動するとうまくいき

1
2番目の署名目的(installer+などapplication)に秘密鍵を再利用する場合は、@ toland-honのコマンドラインでOpenSSLを使用してバグのあるKeychain Accessアプリケーションを回避する手動の手順を参照してください。ユーザーをのCertificateセクションに誘導する以下の手順はKeychain Access、秘密鍵を二次的な目的で再利用する場合には機能しません。手動のCSR via opensslは実行可能な回避策です。
tresf 2018年

回答:


300

解決しました。証明書を要求する前に、「証明書」セクションにあり、「Apple Worldwide Developer Relations Certification Authority」を選択していることを確認してください。


7
あなたはヒーローです。他のすべての答えが問題を解決していなかったとき、私は髪を引っ張っていました。
BFeher

23
ああ、私の神アップルWTF?ジョンありがとう!
MattD 2015年

2
これは非常識です。:(:P what the falooda ???真剣に、ユーザーフレンドリーなアラートまたはメッセージが必要です
Adil Soomro

2
クレイジーだと思ったので、この回答は考慮しませんでした。しかし、実際には機能します。ちょうど非常識:)あるリンゴの生態系の一部の緩い部分がある
アレックス・

2
これで解決しました。古い秘密鍵を選択しても機能しませんでした。また、鍵を選択していませんでした。あいまいさ...
zai chang 2016年

46

キーチェーンアクセスでは、キーチェーンにIDの秘密キー公開キーの両方がない場合を除き、" ID "を使用して証明機関に証明書要求できません。対応する公開キーではなく秘密キーしかないときに、この問題に遭遇しました。

公開鍵を紛失したで説明されている手順を使用して、秘密鍵から公開鍵を作成し、それをキーチェーンにインポートできます。秘密鍵から回復できますか?

公開鍵をインポートした後、「指定されたアイテムがキーチェーンエラーで見つかりませんでした」というコマンドをトリガーせずに、identity」のある認証局からの証明書要求...コマンドを使用できました


そうです、公開鍵なしで証明書を作成するにはどうすればよいですか:)
onmyway133

29

証明書を要求するに、「証明書」セクションに移動し、「Apple Worldwide Developer Relations Certification Authority」を選択します。

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


21

あなたは(おそらく偶然に)既存のキーを使用して証明書署名要求生成するようにキーチェーンアクセスを要求しています。[ Keychain Access - Certificate Assistant ]メニューに移動するときにキーが選択されている場合、表示されるオプションはその選択されたキーに対するものです。

キーチェーン内の非保存項目(保存されたパスワードなど)を選択し、もう一度[ キーチェーンアクセス - 証明書アシスタント]に移動して、通常どおりにCSRを生成します。


OS Xはデフォルトで最初に選択されているアイテムになっているようです。これを生成するときに別のキーチェーン(システム)を選択するだけで問題が解決するはずです。
James Parker

神聖ながらくた、私はそれを受け入れたことはなかっただろう。
不適切

9

私もこの問題を抱えていました。ペインでのAll Items代わりにを選択して、証明書を作成しようとすることで、これを解決しました。KeysCategories

これを試してみてください、きっとうまくいきます。


再起動する方が良い
knight2016

7

これは私に起こっていました。証明書リクエストを作成するためのメニューオプションが

認証局に証明書を要求...

「私の名前」を使用して認証局に証明書を要求する...

このメニューオプションを確認してください

私は職場のドメインにいるので、ログアウトし、別のユーザーとしてログインおよびログアウトしてから、再度ログインしました。その後、メニューは期待どおりに表示され、このエラーはなくなりました


4
これはキーチェーンアクセスの機能です。このメニューに移動するときにキーを選択している場合は、そのキーを使用して証明書署名要求を作成するよう提案されます。(この場合、オプションはキーを右クリックしたときと同じです。)ログアウトすると、キーの選択が解除されます。
Phil Calvin 14

ログアウトしてからログインする必要はありません。キーチェーンを終了して再び開くだけで、リストのエントリを選択せず​​にメニューに移動してリクエストします
M.Shuaib Imran

7

私の目標は、既存の秘密鍵を使用してCSR(証明書署名要求)を作成し、Appleに送信して新しいiPhone配布証明書を生成することでした。証明書が左側で選択したカテゴリであることを確認しました。秘密キーを右クリックし、[秘密キーをインポートして認証局に証明書要求する ]をクリックしてみましたが、保存しようとすると次のエラーが表示されました。

指定されたアイテムがキーチェーンに見つかりませんでした。

ファイルメニューを実行したときにも同じエラーが発生しました:キーチェーンアクセス > 証明書アシスタント

他のインターネットソースから収集したのは、秘密キーをインポートした場合、キーチェーンアクセスでは新しいCSRを作成できないことです。ツールからローカルでキーを作成した場合のみです。

代わりに私が最終的に行ったのは、秘密鍵をエクスポートし、opensslを使用して新しいCSRを生成することでした。これはAppleが受け入れ、現在は新しいインポートされた秘密鍵を参照しています。

秘密鍵のエクスポート

  1. 秘密鍵を右クリック
  2. 書き出す
  3. p12ファイル形式が選択されていることを確認してください
  4. 保存する
  5. パスワードを入力してください(オプション)
  6. 鍵のエクスポートへのアクセスを許可
  7. ターミナルを開き、エクスポートされたディレクトリに移動します
  8. p12コンテナーからキーを抽出する

.pem秘密鍵はパスワード保護されなくなったので注意してください)

$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK

エクスポートされた秘密鍵を使用して新しいCSRを作成する

$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:thon@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

注意すべき2つの点:

  • 入る 。フィールドを空白にしたい場合、またはデフォルトでは角括弧[]にあるものをすべて含めます。
  • 共通名(CN)は秘密鍵の名前にする必要があります(John Doe Dev Keyなど)
  • メールアドレスはあなたのメールアドレスである必要があります(例:thon@example.com)
  • 他はすべて空白にする必要があります

CSRを確認する

$ openssl req -noout -text -in Certificates.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: CN=John Doe Dev Key/emailAddress=thon@example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption
        

あなたが気にする必要があるのは件名です行であり、それが正しいことを確認します。

あとは、それをAppleに送信し、証明書が生成されるのを待って、インストールするだけです。新しく生成された証明書をインポートすると、上記でエクスポートした古い証明書を参照することがわかります。


同じ問題。同じ秘密鍵を保持しdeveloperID_installer.cerたい(つまり、元々使用されていたが、に再利用したいdeveloperID_application.cer)。Appleの指示は、バギーKeychain Accessまたはそれより悪いXCode を使用することを強制するため、不適切です。私はこの上の解決策に偶然に偶然出会いました。それはまさに私がやったことだからです。
tresf 2018年

4

同じ問題があります。CSRを作成してから作成しないと、同じエラーが発生します。

その後、私は検索して見つけることができますが、解決策はないかもしれません。

いつか私はそれを解決することができます。

フリストタイムのクレートCSRを使用したキーチェーンアクセス。キーチェーンアクセスはロックされています。

開く>キーチェーンアクセス>キーチェーンアクセス表示の上部 "クリックしてシステムキーチェーンのロックを解除します"

それをクリックしてシステムキーチェーンのロックを解除し、CSRファイルを作成してから、このエラーを取得しません。


2

キーチェーンで秘密鍵を選択すると、問題が発生します。「指定されたアイテムがキーチェーンに見つかりませんでした」公開鍵を選択している間、それを解決します。「証明書リクエストがディスク上に作成されました。」


1

表示されている名前には、キーチェーンのメインウィンドウでハイライト表示したアイテムが表示されています(ここで別のアイテムを選択すると、それに応じてメニューアイテムも変更されます)。左側のカテゴリセクションに移動して、たとえば[証明書]を選択し、証明書アシスタントメニュー項目に戻ると、これは慣れているように見えます/動作します。お役に立てれば!


1

私が持っていたすべての証明書を取り消した後、問題は私のユビキーにあることがわかりました。アプリへの署名の邪魔になりました。取り除いた後、問題は解決しました。

このフォーラムのスレッドは私を助けてくれました:https : //forums.developer.apple.com/thread/106938


ありがとうございました!これも私の問題でした。これはほとんどの人にとって問題ではないかもしれませんが、ユビキーを持っている人は誰でもそれを引き出して再構築してみてください。
Philihpバスビー

0

新しいCSRの生成中にキーチェーンで秘密キーを選択した場合は、そのキーを参照するように求められます。新しいCSRを作成するために役立つ新しいCSRを生成するために、非秘密鍵項目を選択したことを確認してください。

たとえば、キーチェーンツール「公開キー」または秘密キーが関連付けられていない既存の証明書で選択したままにします。次に、「認証局からの証明書の要求」のフローに従います。



-14

解決しました!「ユーザー証明書」を「コード署名」に変更する必要がありました。


「ユーザー証明書」を「コード署名」に変更するとはどういう意味ですか?
user500 2013年

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