Как запустить не подписанные системные расширения в OSX catalina?
Как запустить не подписанные системные расширения в OSX catalina?
Я пытаюсь загрузить SimpleFirewall, системное расширение, предоставленное Apple, чтобы продемонстрировать возможности фильтрации пакетов.
Проект компилируется, но при запуске появляется такая ошибка:
OSSystemExtensionErrorDomain error 8
Посмотрел, значит -
Неверная подпись кода или отсутствующие права
У меня отключен SIP и отключена подпись кода в проекте xcode.. что еще я могу сделать, чтобы запустить этот запуск? У меня нет ID разработчика... просто тестирую код...
3 ответа
Согласно ответу эскимосов на форумах разработчиков Apple, вы можете дополнительно
- отключение SIP и
- включение режима разработчика SYSX (
systemextensionsctl developer on
)
нужно отключить AMFI:
nvram boot-args="amfi_get_out_of_my_way=0x1”
Это должно быть сделано в cmd из режима восстановления.
AFAIK вам нужно только сделать это, если у вас нет профиля подготовки разработчика с com.apple.developer.endpoint-security.client
право.
Документация Apple по "Отладке и тестированию системных расширений" содержит некоторую информацию по этому вопросу.
Теоретически отключение SIP должно учитывать требования подписи. Возможно, вам все равно потребуется подписать расширение с помощью бесплатного сертификата разработчика Mac, чтобы можно было встроить права.
Вы пытаетесь использовать расширение вне приложения? Если да, то команда
systemextensionsctl developer on
Должно помочь.
У меня такая же проблема с @tuti. Я тестирую базу расширений системы hello world на Driver Kit. Я использую бесплатную учетную запись разработчика, Mac mini Catatila, Xcode 11 для разработки. В моем Xcode я не подписываю свой код как для приложения, так и для расширения системы. Я также отключаю SIP и запускаю команду "systemextensionsctl developer on". Но когда я загружаю системное расширение из приложения Swift, оно все равно показывает мне журнал "Операция не может быть завершена. (Ошибка OSSystemExtensionErrorDomain 8.)". Когда я нахожу ошибку 8, это означает, что подпись недействительна. Но на моем компьютере я могу нормально загрузить неподписанное расширение ядра. Итак, я не знаю почему? Я думаю, что ОС все еще проверяет подпись кода для расширения системы, даже если я отключу SIP.