2016-04-29 12 views
6

Das Signieren einer .app, die ein Shell-Skript mit OS X 10.11 umschließt, kann bei 10.10 oder weniger nicht verifiziert werden. Ich kann 10.10 und 10.9 und 10.9, 10.10 und 10.11.Ist die Signatur von Shell-Skript-Wrapping-Anwendungen in OS X 10.11 fehlerhaft?

Ich habe zwei Beispiel-Apps und ein Skript auf github, um dies zu zeigen. Die beiden HelloWorld.apps variieren nur in der Binärdatei in Contents/MacOS/HelloWorld. Einer ist ein Shell-Skript, der andere ist Ziel-c kompiliert.

Signing Werke und überprüft auf 10.11 für beide Versionen:

Shell Script Version:

codesign -s "${signing_identity}" -v shell-script/HelloWorld.app 
signed bundle with generic [liamsharp.helloworld] 

codesign -vv shell-script/HelloWorld.app 
shell-script/HelloWorld.app: valid on disk 
shell-script/HelloWorld.app: satisfies its Designated Requirement 

Objective-C-Version:

codesign -s "${signing_identity}" -v objective-c/HelloWorld.app 
signed bundle with Mach-O thin (x86_64) [liamsharp.helloworld] 

codesign -vv objective-c/HelloWorld.app 
objective-c/HelloWorld.app: valid on disk 
objective-c/HelloWorld.app: satisfies its Designated Requirement 

Aber die Shell-Skript-Version nicht auf, um zu überprüfen 10.10 und 10.9:

codesign -vv shell-script/HelloWorld.app 
shell-script/HelloWorld.app: invalid signature (code or signature have been modified) 

Ich habe Zugriff auf eine andere 10.11-Maschine und das gleiche Problem tritt auf, wenn es .apps signiert. Ich habe Zugriff auf eine 10.9-Maschine, die auch nicht verifiziert werden kann.

Es gibt einen Unterschied im _CodeSignature-Verzeichnis, das für das Shell-Skript .app erstellt wurde.

Hier ist, wie es, wenn auf 10.10 signiert ist:

CodeDirectory 
CodeRequirements 
CodeResources 
CodeSignature 

Aber wenn auf 10.11 unterzeichnet wir bekommen einige zusätzliche Dateien:

CodeDirectory 
CodeRequirements 
CodeRequirements-1 
CodeResources 
CodeSignature 
CodeTopDirectory 

Gibt es eine magische Option, die ich für Co-Design bin fehlen erlaube das zu arbeiten? Oder gibt es einen Fehler?

+0

Dies scheint ein Fehler mit "Codesign" auf OS X 10.11 zu sein. Der Fehler betrifft auch Automator '.definition' Bundles. Ich habe den Fehler mit Apple als rdr eingereicht: // 26297046. –

+1

Ich habe auch 26363618 gefüllt. – CodeBuddy

+0

Danke. Ich schätze es, dass Sie diese Frage stellen und den Testfall erstellen. Es war beruhigend, dass andere auf diesen OS X-Fehler stießen. –

Antwort

1

Ich habe auch eine Antwort von Apple nun, eine andere Nummer Graham aber:

Engineering has determined that your bug report is a duplicate of another issue and will be closed. 

Duplicate of 25457707 (Open) 

ein Update veröffentlichen, wenn/wenn ich mehr hören. Keine weiteren Details auf eta's für eine Reparatur, oder sogar wenn es behoben wird.

Update: Dies ist jetzt in 10.11.5 behoben - ich habe keine Angabe von Apple, aber jetzt funktioniert nach einem Upgrade.