В прошлом мне приходилось кодировать файл .dmg.
Срок действия старого сертификата истек, и мне нужно подписать новый. Нет проблем, верно? Делай то, что я делал в прошлый раз? Да. Я экспортировал новую цепочку сертификатов и закрытый ключ в виде файла .pfx в Windows. Казалось бы, я могу импортировать это непосредственно в инструмент цепочки для ключей OS X без предварительного преобразования в .p12. Так я и сделал.
Когда приходит время для фактического кодирования, первая попытка говорит, что не может определить, какой сертификат использовать. Поэтому я поместил старую цепочку сертификатов и закрытый ключ в одну цепочку для ключей (2011 г.), а новую - в другую (2012 г.) и повторил попытку:
так ...
codesign -s "Identifier Name" --keychain 2012.keychain --verbose --dryrun somefile.dmg
Возвращает ...
somefile.dmg: signed []
НО!
codesign -s "Identifier Name" --keychain 2012.keychain --verbose somefile.dmg
Возвращает ...
somefile.dmg: Argument list too long
И просто чтобы быть уверенным ...
codesign -d --verbose somefile.dmg
Раскрывает ...
somefile.dmg: code object is not signed
А для ударов ногами
codesign -s "Identifier Name" --keychain 2011.keychain --verbose somefile.dmg
Раскрывает ...
somefile.dmg: signed generic [somefile.dmg]
tl; dr Я все еще могу подписать все нормально с моим сертификатом с истекшим сроком, но когда я пытаюсь сделать это с новым сертификатом, он работает на сухой запуск, но когда я пытаюсь подписать по-настоящему, команда возвращает «список аргументов слишком длинный».
Я пытался понять это около двух недель, теперь я не шучу, и, насколько я могу судить по поиску, в этом загадочном сообщении об ошибке ничего не найдено.
Есть какие-нибудь идеи относительно того, что происходит, или что еще я могу сделать?
Спасибо
-Lunpa