2014-01-20 3 views
7

Ich versuche, ein OS X-Installationspaket mit dem Befehlszeilenprogramm productsign zu signieren, bekomme aber einen Fehler.OS X productsign Fehler: Konnte nicht passende Signaturidentität finden

productsign --sign "Developer ID Installer: XYZ" input.pkg output.pkg 
productsign: error: Could not find appropriate signing identity for “Developer ID Installer: XYZ”. 

Wenn ich Keychain Access öffnen, ich bin in der Lage das CERT zu sehen, dass ich bei developer.apple.com und importiert in den Anmeldungs ​​Keychain erstellt. Der allgemeine Name entspricht meinem Befehlszeilenparameter: "Developer ID Installer: XYZ". Gibt es eine Möglichkeit, diesen speziellen Fehler zu debuggen?

+2

Können Sie Ihren privaten Schlüssel dafür sehen? Sie benötigen sowohl das Zertifikat als auch den privaten Schlüssel, um das Signieren durchzuführen (zusammen nennt das eine "Identität"). – gaige

+1

Danke, das war das Problem! Ich generierte das Zertifikat auf einem Computer (der den privaten Schlüssel hatte) und führte das Produkt auf einem anderen Computer aus (der nicht über den privaten Schlüssel verfügte). Bitte geben Sie Ihre Antwort ein und ich werde sie als akzeptiert markieren. – Ravi

Antwort

3

Suchen Sie nach dem privaten Schlüssel in Ihrem Schlüsselbund. Sie benötigen sowohl den Schlüssel als auch das Zertifikat, um das Signieren durchzuführen (zusammen nennt dies eine "Identität").

+0

Können Sie mehr Details erfahren? Wo ist mein privater Schlüssel gegen meinen öffentlichen Schlüssel gespeichert? Zum Beispiel habe ich '.cer' Dateien gesichert. Ich habe einen neuen Mac. Ich doppelklicke die '.cer' Datei. Es wird in meinem Schlüsselbund installiert. Was vermisse ich? – gman

+0

@gman Ihre '.cer' Dateien sind nur das Zertifikat. Hoffentlich hast du deinen alten Schlüsselbund behalten, wenn ja, öffne ihn und klicke auf die _Keys_ Kategorie.Sie sollten 1+ private Schlüssel sehen. Wenn sie über Dreidreiecke verfügen, öffnen Sie diese, um das Zertifikat zu finden, mit dem Sie signieren möchten. Das ist der private Schlüssel und Sie sollten ihn in Ihren Schlüsselbund auf Ihrem neuen Mac importieren. Wenn Sie den Schlüsselbund nicht haben und ihn nicht aus Sicherungen abrufen können, müssen Sie einen neuen Schlüssel hochladen und neue Zertifikate erstellen. – gaige

3

Ich hatte das gleiche Problem. Mein Installer-Zertifikat hatte keinen privaten Schlüssel. Sie können dies überprüfen, indem Sie Schlüsselbund öffnen und für Ihre certificat wie genannt aussehen:

Entwickler-ID Installer: My Company (1258345791ZL)

Wenn Sie sich ein privater Schlüssel befestigt ist, sollten Sie

Developer ID Installer: My Company (1258345791ZL) (!) Private Key

sehen

Wenn Sie den privaten Schlüssel unter Ihrem Zertifikat nicht entfalten können, bedeutet dies, dass er fehlt.

Dann dieses Problem zu beheben, müssen Sie sich mit Ihrer Apple-ID an developer.apple.com anmelden und

1- Versuch entfernen und downloaden Sie Ihr Zertifikat erneut

2-, wenn dies nicht genug ist, erstellen eine neue mit den folgenden Schritten

2a - klicken Sie auf das (+) oder gehen Sie hier:

https://developer.apple.com/account/mac/certificate/distribution/create

2b - s pecify Produktion/Entwickler-ID, und drücken Sie dann auf Weiter

2c - angeben "Entwickler-ID Installer"

2d - folgen, die Instruktion eine Zertifikatsanforderung erstellen Schlüsselanhänger mit

2e - laden Sie Ihre Zertifikatanforderungsdatei in Apfelentwickler

2f - Laden Sie das neu erstellte Zertifikat in Ihren Schlüsselbund herunter.

2g - bereinigen Sie alle anderen Installer-Zertifikate, um sicher zu gehen.

Et voila, Sie können unterschreiben.

Verwandte Themen