Использование ANT для создания пакета с самозаверяющим сертификатом на Mac

Я пытаюсь собрать qz.io из исходного кода, чтобы он использовал самозаверяющий сертификат.

По этой ссылке они показывают способ сборки из исходного кода и подписывают его новым сертификатом:

ant nsis -Dauthcert.use=path/to/override.crt

Однако здесь говорят, что nsis используется для сборки на Windows и для Mac, мне нужно запустить ant pkgbuild:

ant nsis       # <-- Windows installer
ant pkgbuild   # <-- Apple installer
ant makeself   # <-- Linux installer

Итак, я пытался бежать ant pkgbuild -Dauthcert.use=path/to/override.crt и он создал новый пакет (.pkg), который можно использовать в OSX, однако он не подписал файл с моим самозаверяющим сертификатом. Но ant nsis работал нормально, создавая .exe файл подписан моим собственным сертификатом.

я думаю -Dauthcert.useопция специфична для nsis,

Ребята, теперь вы правильный способ сделать это на OSX?

1 ответ

он не подписал файл моим самоподписанным сертификатом.

Для сценария сборки в вопросе, authcert.use- это сертификат, который программа использует для внутреннего лицензирования, а не для подписи полученного файла. Поскольку задействовано несколько сертификатов, важно понимать разницу между ними.

Подписание установщика Apple

Если вы хотите подписать полученный файл, вам необходимо получить Apple Developer ID, в частности, тот, который помечен для создания установщика. Чтобы узнать, установлен ли он, используйте security find-identity -v -p appleID.

        security find-identity -v -p appleID

  1) C50DEA4B92E19A5573C48E8CBFCA17A741FF7BC2 "Developer ID Installer:   ABC Incorporated (P4E8D512CX)"
  2) 43A2EF6B7F9EE536B8FA7FB784E5F81D13BDB5D8 "Developer ID Application: ABC Incorporated (P4E8D512CX)"

Необходимая вам часть указана в скобках ... Вы можете подписать файл, переопределив это значение . Обратите внимание: начиная с QZ Tray 2.2.0, оба Application а также Installer Идентификаторы обязательны.

например

      ant pkgbuild -Dapple.packager.signid=P4E8D512CX

Будет получен идентификатор подписи Apple под названием P4E8D512CX с вашего брелока и используйте его, чтобы подписать .pkgфайл. Это значение будет меняться в зависимости от назначенного вам идентификатора разработчика Apple.

Обратите внимание, что для Windows процедура немного отличается, вам необходимо указать три значения: -Dsigning.alias=..., -Dsigning.keystore=..., -Dsigning.keypass=..., -Dsigning.storepass=.... Примеры значений приведены здесь, но , как правило , требует преобразования .pfx (PKCS#12) на .jks. Если вы хотите подписать исполняемый файл после его создания, это тоже будет работать, но оно не будет применяться к каким-либо связанным двоичным файлам, таким как программа запуска, программа удаления или связанные библиотеки DLL.

Замена внутреннего файла лицензирования

Для работы используемого вами приложения требуется выданный сертификат (например, лицензия). Для пользователей, которые хотят выпустить свой собственный сертификат, ant pkgbuild -Dauthcert.use=path/to/override.crtявляется действительным. Это создаст установщик для настольных ПК с переопределенной внутренней лицензией. Дополнительную информацию о том, для чего предназначен этот файл лицензии, см. В этом видеоуроке: https://www.youtube.com/watch?v=X72y6ZZTWzE.

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