Невозможно получить сертификат с кодом кода после подписания пакета с помощью productign

Последние 2 недели я борюсь с публикацией .pkg.

Если я выполню codesign -dvv app-version.pkg

я получил app-version.pkg: code object is not signed at all

Тогда я хочу подписать это с productsign --sign "3rd Party Mac Developer Installer: xxx (yyy)" ./app-version.pkg ./app-version-signed.pkg

Результат:

      productsign: signing product with identity "3rd Party Mac Developer Installer: xxx (yyy)" from keychain /Users/<user>/Library/Keychains/login.keychain-db
productsign: adding certificate "Apple Worldwide Developer Relations Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to ./app-version-signed.pkg

Когда я проверяю свой код с помощью codesign -dvv app-version-signed.pkg, Я получаю тот же результат. app-version-signed.pkg: code object is not signed at all


Мы используем electronic-builder для сборки пакета, но пакет еще не подписан. Приложение подписано с Developer ID application и 3rd Party Mac Developer Application.

1 ответ

Краткий ответ: используйте pkgutil --check-signatureвместо .

Длинный ответ: плоские пакеты используют несколько иной формат подписи, чем другие вещи, и вам нужно использовать разные инструменты, чтобы подписывать их и проверять подписи. В частности, используйте productsignвместо того, чтобы подписывать их, и pkgutilвместо codesignдля проверки подписи.

Когда вы используете codesign -dvvна пакете он ищет свой формат подписи, и действительно там его нет.

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