Fehler beim Versuch, ein Zertifikat zu erhalten: Das angegebene Element wurde nicht im Schlüsselbund gefunden

110

Ich hatte ein Problem mit der Codesignierung meiner Apps, daher habe ich alle Schlüssel aus dem Schlüsselbund gelöscht. Dann ging ich zu Certificate Assistant => Fordern Sie ein Zertifikat von einer Zertifizierungsstelle an (um CSR für ein neues Zertifikat zu erstellen).

Geben Sie also meine E-Mail-Adresse ein und ich bekomme Folgendes:

Das angegebene Element wurde nicht im Schlüsselbund gefunden.

Was mache ich falsch?

PS Wenn ich versuche, eine Zertifizierungsstelle zu erstellen , wird der gleiche Fehler angezeigt.

Sergey
quelle
1
Ich erhalte den gleichen Fehler. Bitte können Sie Ihre Antwort ausarbeiten oder jemanden, der weiß, wie es geht
Iducool
9
Das Neustarten des KeyChain Access hat bei mir funktioniert :)
Mohit Padalia
1
Informationen zum erneuten Verwenden eines privaten Schlüssels für einen zweiten Signaturzweck (z. B. installer+ application) finden Sie in den folgenden manuellen Schritten von @ toland-hon, in denen OpenSSL in der Befehlszeile verwendet wird, um die fehlerhafte Keychain AccessAnwendung zu umgehen . Die folgenden Schritte, mit denen Benutzer zum CertificateAbschnitt " Keychain AccessNoch" weitergeleitet werden, funktionieren NICHT, wenn ein privater Schlüssel für einen sekundären Zweck wiederverwendet wird. Manuelle CSR via opensslist eine praktikable Problemumgehung.
Tresf

Antworten:

300

Ich habe es gelöst. Stellen Sie sicher, dass Sie sich im Abschnitt "Zertifikate" befinden und "Apple Worldwide Developer Relations-Zertifizierungsstelle" auswählen, bevor Sie ein Zertifikat anfordern.

Francesco
quelle
7
Du bist ein Held. Ich zog mir die Haare aus, als alle anderen Antworten das Problem nicht lösten.
BFeher
23
Oh mein Gott Apple WTF? Danke John!
MattD
2
Das ist verrückt. :(: P was zum Falooda ??? Im Ernst, es muss eine benutzerfreundliche Warnung oder Nachricht geben.
Adil Soomro
2
Ich habe diese Antwort nicht in Betracht gezogen, weil ich sie für verrückt hielt. aber es funktioniert tatsächlich. gibt es einige lose Teile des Apfels Ökosystem , das nur verrückt :) sind
alex
2
Das hat es für mich gelöst. Die Auswahl meines alten privaten Schlüssels hat nicht funktioniert, und es wurde auch kein Schlüssel ausgewählt. Wie dunkel ...
Zai Chang
46

Mit dem Schlüsselbundzugriff können Sie kein Zertifikat von einer Zertifizierungsstelle mit " Identität " anfordern ... es sei denn, Sie haben sowohl den privaten als auch den öffentlichen Schlüssel für die Identität in Ihrem Schlüsselbund. Ich bin darauf gestoßen, als ich nur den privaten Schlüssel und nicht den entsprechenden öffentlichen Schlüssel hatte.

Sie können den öffentlichen Schlüssel aus dem privaten Schlüssel erstellen und in Ihren Schlüsselbund importieren. Verwenden Sie dazu das unter Ich habe meinen öffentlichen Schlüssel verloren. Kann ich es von einem privaten Schlüssel wiederherstellen?

Nachdem ich den öffentlichen Schlüssel importiert hatte, konnte ich den Befehl Zertifikat von einer Zertifizierungsstelle mit " Identität " anfordern ... anfordern, ohne den Fehler " Das angegebene Element wurde im Schlüsselbundfehler nicht gefunden " auszulösen .

Gene Goykhman
quelle
Sie haben Recht, wie kann das Zertifikat ohne den öffentlichen Schlüssel erstellt werden :)
onmyway133
29

Gehen Sie zum Abschnitt " Zertifikate " und wählen Sie " Apple Worldwide Developer Relations-Zertifizierungsstelle " aus, bevor Sie ein Zertifikat anfordern.

Geben Sie hier die Bildbeschreibung ein

atereshkov
quelle
21

Sie fordern (möglicherweise versehentlich) den Schlüsselbundzugriff auf, eine Zertifikatsignierungsanforderung unter Verwendung eines vorhandenen Schlüssels zu generieren . Wenn beim Aufrufen des Menüs Schlüsselbundzugriff - Zertifikatsassistent ein Schlüssel ausgewählt wird, gelten die angezeigten Optionen für diesen ausgewählten Schlüssel.

Wählen Sie ein Nicht-Schlüsselelement in Ihrem Schlüsselbund (z. B. ein gespeichertes Kennwort) und gehen Sie erneut zu Schlüsselbundzugriff - Zertifikatassistent , um die CSR normal zu generieren.

Phil Calvin
quelle
Es scheint, dass OS X jetzt standardmäßig das erste Element ist, das jetzt ausgewählt wird. Wenn Sie beim Generieren nur einen anderen Schlüsselbund (z. B. System) auswählen, sollte das Problem behoben sein.
James Parker
Heiliger Mist, das hätte ich nie zu Gast gehabt. Sprechen Sie über schlechtes UI-Design ...
d512
9

Sogar ich bekam dieses Problem. Ich habe dieses Problem gelöst, indem ich All Itemsanstelle von Keysim Bereich ausgewählt Categoriesund dann versucht habe, das Zertifikat zu erstellen.

Versuchen Sie dies, es wird sicherlich funktionieren.

naddy19
quelle
Besser neu starten
knight2016
7

Dies passierte mir. Ich bemerkte, dass sich die Menüoption zum Erstellen der Zertifikatanforderung von geändert hatte

Fordern Sie ein Zertifikat bei einer Zertifizierungsstelle an ...

zu

Fordern Sie ein Zertifikat bei einer Zertifizierungsstelle mit "Mein Name" an ...

Aktivieren Sie diese Menüoption

Ich bin in einer Domäne bei der Arbeit, also habe ich mich abgemeldet, mich als ein anderer Benutzer an- und abgemeldet und mich dann erneut angemeldet. Danach erschien das Menü wie erwartet und dieser Fehler verschwand

Damo
quelle
4
Dies ist eine Funktion von Keychain Access. Wenn Sie in diesem Menü einen Schlüssel ausgewählt haben, können Sie den Schlüssel zum Erstellen der Zertifikatsignierungsanforderung verwenden. (In diesem Fall sind die Optionen dieselben wie beim Klicken mit der rechten Maustaste auf einen Schlüssel.) Durch Abmelden wird die Auswahl des Schlüssels aufgehoben.
Phil Calvin
Sie müssen sich nicht abmelden und dann anmelden. Verlassen Sie einfach den Schlüsselbund und öffnen Sie ihn erneut.
Wählen
7

Mein Ziel war es, eine CSR (Certificate Signing Request) mit meinem vorhandenen privaten Schlüssel zu erstellen, um sie an Apple zu senden und ein neues iPhone Distribution-Zertifikat zu generieren. Ich habe sichergestellt, dass Zertifikate die ausgewählte Kategorie auf der linken Seite sind. Ich habe versucht, mit der rechten Maustaste auf meinen privaten Schlüssel zu klicken und auf Zertifikat von einer Zertifizierungsstelle mit importiertem privaten Schlüssel anfordern zu klicken. Beim Versuch, ihn zu speichern, wird die folgende Fehlermeldung angezeigt.

Das angegebene Element wurde nicht im Schlüsselbund gefunden.

Ich habe auch den gleichen Fehler erhalten, als ich das Dateimenü durchgesehen habe : Schlüsselbundzugriff > Zertifikatassistent

Was ich aus anderen Internetquellen zusammengetragen habe, ist, dass Sie mit dem Schlüsselbundzugriff KEINE neue CSR erstellen können, wenn Sie den privaten Schlüssel importiert haben, sondern nur, wenn Sie den Schlüssel lokal aus dem Tool erstellt haben.

Am Ende habe ich stattdessen den privaten Schlüssel exportiert und mit openssl die neue CSR generiert, die Apple akzeptiert hat, und verweist jetzt auf den neuen importierten privaten Schlüssel.

Exportieren des privaten Schlüssels

  1. Klicken Sie mit der rechten Maustaste auf den privaten Schlüssel
  2. Export
  3. Stellen Sie sicher, dass das p12-Dateiformat ausgewählt ist
  4. sparen
  5. Passwort eingeben (optional)
  6. Zugriff auf Exportschlüssel zulassen
  7. Öffnen Sie das Terminal und wechseln Sie in das exportierte Verzeichnis
  8. Schlüssel aus dem p12-Behälter ziehen

Seien Sie vorsichtig, da der private .pem-Schlüssel nicht mehr kennwortgeschützt ist.

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

Neue CSR mit exportiertem privaten Schlüssel erstellen

$ 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 []:

Ein paar Dinge zu beachten:

  • Eingeben . Wenn das Feld leer sein soll oder die Standardeinstellung alles in den Klammern [] enthält.
  • Common Name (CN) sollte Ihr privater Schlüsselname sein (z. B. John Doe Dev Key).
  • Die E-Mail-Adresse sollte Ihre E-Mail-Adresse sein (z. B. [email protected]).
  • Alles andere sollte leer sein

Überprüfen Sie Ihre 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
        

Was Sie beachten sollten, steht in der Betreffzeile und überprüfen Sie, ob dies korrekt ist.

Jetzt müssen Sie es nur noch an Apple senden, auf die Generierung des Zertifikats warten und es dann installieren. Nachdem Sie Ihr neu generiertes Zertifikat importiert haben, sehen Sie, dass es auf das alte Zertifikat verweist, das Sie oben exportiert haben.

Toland Hon
quelle
Gleicher Fehler. Wollte den gleichen privaten Schlüssel behalten (dh ursprünglich verwendet für developerID_installer.cer, möchte ihn aber wiederverwenden developerID_application.cer). Apples Anweisungen sind schlecht, weil sie Sie zwingen, den Buggy Keychain Accessoder schlimmer noch XCode zu verwenden. Ich bin ziemlich versehentlich auf diese obige Lösung gestoßen. Dein Upvoting, weil es genau das ist, was ich letztendlich getan habe.
Tresf
4

Ich habe das gleiche Problem. Ich kann CSR erstellen, dann nicht erstellen und der gleiche Fehler wird angezeigt.

dann kann ich suchen und vielleicht Lösung finden, aber nicht lösen.

Irgendwann kann ich es lösen.

Mein Schlüsselbundzugriff über die erste Zeitkiste CSR. Mein Schlüsselbundzugriff ist also gesperrt.

Öffnen> Schlüsselbundzugriff> Oberseite der Schlüsselbundzugriffsanzeige "Klicken Sie hier, um den Systemschlüsselbund zu entsperren."

Klicken Sie darauf und entsperren Sie den Systemschlüsselbund. Erstellen Sie dann eine CSR-Datei und erhalten Sie diesen Fehler nicht.

Sanjay Damor
quelle
2

Bei Auswahl des privaten Schlüssels im Schlüsselbund tritt das Problem auf. "Das angegebene Element wurde nicht im Schlüsselbund gefunden." Lösen Sie es, während Sie den öffentlichen Schlüssel auswählen. "Ihre Zertifikatanforderung wurde auf der Festplatte erstellt."

Zgpeace
quelle
1

Okay, der angezeigte Name zeigt das Element an, das Sie im Hauptfenster des Schlüsselbunds hervorgehoben haben (wenn Sie hier ein anderes Element auswählen, ändert sich auch das Menüelement damit). Wenn Sie in den Kategoriebereich auf der linken Seite gehen und beispielsweise meine Zertifikate auswählen und zum Menüpunkt "Zertifikatassistent" zurückkehren, sieht es so aus, als ob Sie es gewohnt wären. Hoffe das hilft!

Cedrick
quelle
1

Nachdem ich jedes Zertifikat widerrufen hatte, stellte ich fest, dass das Problem bei meinem Yubikey lag . Die Unterzeichnung der App wurde behindert. Nachdem ich es entfernt hatte, wurde das Problem gelöst.

Dieser Forenthread hat mir geholfen: https://forums.developer.apple.com/thread/106938

Adriana Pineda
quelle
Danke dir! Dies war auch mein Problem. Dies mag für die meisten Menschen nicht das Problem sein, aber jeder mit einem Yubikey sollte versuchen, es herauszuziehen und wieder aufzubauen.
Philihp Busby
0

Wenn Sie beim Generieren eines neuen CSR einen privaten Schlüssel im Schlüsselbund ausgewählt haben, werden Sie aufgefordert, auf diesen Schlüssel zu verweisen. Stellen Sie einfach sicher, dass Sie ein nicht privates Schlüsselelement zum Generieren eines neuen CSR ausgewählt haben, das zum Erstellen eines neuen CSR hilfreich ist.

Zum Beispiel im Schlüsselbund-Tool "Öffentlicher Schlüssel" oder in einem vorhandenen Zertifikat, an dem kein privater Schlüssel ausgerichtet ist, ausgewählt bleiben. Folgen Sie nun dem Ablauf "Zertifikat von Zertifizierungsstelle anfordern".

Ameer
quelle
0

Der folgende Link hat das Problem für mich behoben. https://forums.developer.apple.com/thread/72863

In meinem Fall war es der Yubikey, der die ganze Zeit mit meinem Mac verbunden war. Nach dem Entfernen wurde das Problem automatisch behoben.

user1913523
quelle
-14

Ich habe es gelöst! Musste "Benutzerzertifikat" in "Codesignatur" ändern.

Sergey
quelle
Was meinen Sie mit der Änderung von "Benutzerzertifikat" in "Codesignatur"?
user500
Ja bitte, ich stoße auch auf das gleiche Problem. Was meinst du mit "Codesignatur? Wo ist das?"
Habitante