Не работает ли в OS X 10.11 подписывание приложений оболочки сценариев оболочки?

Подпись .app, которая обертывает сценарий оболочки с использованием OS X 10.11, не может быть проверена на версии 10.10 или ниже. Я могу подписать 10.10 и 10.9, и он проверяет 10.9, 10.10 и 10.11.

Чтобы показать это, я поместил два примера приложений и сценарий на github. Два HelloWorld.app различаются только двоичным файлом в Contents / MacOS / HelloWorld. Один - это сценарий оболочки, другой - скомпилированный объект-c.

Подпись работает и проверяет 10.11 для обеих версий:

Версия сценария оболочки:

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:

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

Но версия сценария оболочки не проверяется в 10.10 и 10.9:

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

У меня есть доступ к другому компьютеру 10.11, и такая же проблема возникает, когда он подписывает .app. У меня есть доступ к машине 10.9, и это тоже не удается проверить.

Существует разница в каталоге _CodeSignature, созданном для сценария оболочки .app.

Вот как это будет при подписании 10.10:

CodeDirectory
CodeRequirements
CodeResources
CodeSignature

Но при подписании 10.11 мы получаем несколько дополнительных файлов:

CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory

Есть ли какой-то волшебный вариант, который мне не хватает для кода, чтобы это работало? Или есть баг?


person CodeBuddy    schedule 29.04.2016    source источник
comment
Похоже, это ошибка codesign в OS X 10.11. Ошибка также затрагивает .definition пакеты Automator. Я зарегистрировал ошибку в Apple как rdr: // 26297046.   -  person Graham Miln    schedule 16.05.2016
comment
Я также заполнил 26363618.   -  person CodeBuddy    schedule 19.05.2016
comment
Спасибо. Я признателен за то, что вы задали этот вопрос и создали тестовый пример. Было обнадеживающе обнаружить, что другие сталкиваются с этой ошибкой OS X.   -  person Graham Miln    schedule 19.05.2016
comment
Apple признает, что это действительная ошибка - инженеры определили, что ваш отчет об ошибке (26297046) является копией другой проблемы (25664109) и будет закрыт.   -  person Graham Miln    schedule 24.05.2016


Ответы (1)


Я также получил ответ от Apple, но номер другой, чем у Грэма:

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

Duplicate of 25457707 (Open)

Опубликую обновление, если / когда я узнаю больше. Никаких дополнительных сведений об исправлении этой ошибки не предоставлено, или даже о том, будет ли она исправлена.

Обновление: теперь это исправлено в 10.11.5 - я не получил никаких указаний от Apple, но теперь работает после обновления.

person CodeBuddy    schedule 13.06.2016