Я хотел бы удалить цифровую подпись из приложения Mac, которое было подписано кодовым знаком. Существует недокументированная опция для кодирования, --remove-signature, которая по названию кажется мне необходимой. Тем не менее, я не могу заставить его работать. Я понимаю, что это недокументировано, но я действительно мог бы использовать функциональность. Может я что-то не так делаю?
codesign -s MyIdentity foo.app
работает нормально, подписывает приложение
codesign --remove-signature foo.app
выполняет дисковую активность в течение нескольких секунд, затем говорит
foo.app: invalid format for signature
и foo.app вырос до 1,9 ГБ !!! (В частности, это исполняемый файл в foo.app/Contents/Resources/MacOS, который увеличивается с 1,1 МБ до 1,9 ГБ.)
То же самое происходит, когда я пытаюсь подписать / подписать бинарный инструмент поддержки вместо .app.
Есть идеи?
Справочная информация: это мое собственное приложение; Я не пытаюсь победить защиту от копирования или что-то в этом роде.
Я хотел бы распространять подписанное приложение, чтобы каждое обновление приложения не нуждалось в одобрении пользователя для чтения / записи записей приложения в связке ключей. Тем не менее, некоторые люди должны изменить приложение, добавив свою собственную папку в / Resources. Если они это сделают, подпись станет недействительной, и приложение не сможет использовать собственные записи цепочки для ключей.
Приложение может легко определить, произошла ли такая ситуация. Если бы приложение могло тогда удалить свою подпись, все было бы хорошо. Те люди, которые делают эту модификацию, должны будут дать измененному, теперь без подписи, разрешение на использование Цепочки для ключей, но это нормально для меня.