Почему подпись не действительна?
Я пытаюсь подписать пакет для собственного распространения.
> spctl --assess -v --type install Unsigned.pkg
Unsigned.pkg: rejected
source=no usable signature
Правильно.
> productsign --timestamp=none --sign "Developer ID Installer: Aaa Ltd." Unsigned.pkg Signed.pkg
productsign: signing product with identity "Developer ID Installer: Aaa Ltd. (123456789)" from keychain /Users/user/Library/Keychains/login.keychain
productsign: adding certificate "Developer ID Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to Signed.pkg
Хорошо прошло.
> spctl --assess -v Signed.pkg
Signed.pkg: rejected
source=no usable signature
Подозрительно...
> spctl --assess -v --type install Signed.pkg
Signed.pkg: accepted
source=Developer ID
Выглядит идеально.
Но когда я запускаю Signed.pkg:
Signed.pkg can't be installed because its digital signature is invalid.
Зачем?
PS Читайте сайт Apple - сертификат правильный, верно?
1 ответ
Была такая же проблема. Похоже, что pkg и dmg нужно установить тип.(Документы говорят open) попробуйте проверить непосредственно контекст. Вы можете получить немного больше информации от него.
spctl -a -t install --context context:primary-signature -v some-app.dmg
также проверьте, если вы подписали все рамки и вещи, используемые внутри. Проверьте символические ссылки, поскольку они любят сокрушать вещи также. Подписание не является рекурсивным, вам нужно вручную все это подписать.