Как запустить не подписанные системные расширения в 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.

Другие вопросы по тегам