Почему подпись не действительна?

Я пытаюсь подписать пакет для собственного распространения.

> 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

также проверьте, если вы подписали все рамки и вещи, используемые внутри. Проверьте символические ссылки, поскольку они любят сокрушать вещи также. Подписание не является рекурсивным, вам нужно вручную все это подписать.

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