Расшифровка установленных требований Mac App Store

У меня есть следующее назначенное требование в моем приложении:

(
    anchor apple generic
    and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ 
or
    anchor apple generic
    and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */
    and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */
    and certificate leaf[subject.OU] = <redacted_team_id>
)
    and identifier "com.company.app"

Теперь я пытаюсь проверить сборку разработки моего приложения на соответствие этому DR. Проверка «универсального» корневого сертификата Apple работает нормально, проверка идентификатора пакета работает нормально. Проверка сертификата в первой ветке (6.1.9) ищет сертификат «Apple Mac App Signing (Release)», поэтому происходит сбой. Это ожидается в сборке для разработчиков.

Насколько я понимаю DR, вторая ветвь (проверка полей сертификата 6.2.6 и 6.1.13) должна применяться к сборкам разработки, но обе проверки полей сертификата не выполняются:

$ codesign --verify -R="certificate 1[field.1.2.840.113635.100.6.2.6]" MyApp.app
test-requirement: code failed to satisfy specified code requirement(s)
$ codesign --verify -R="certificate leaf[field.1.2.840.113635.100.6.1.13]" MyApp.app
test-requirement: code failed to satisfy specified code requirement(s)

Мой вопрос: что такое поля сертификата 6.2.6 и 6.1.13 и почему моя (правильно подписанная) сборка разработки не соответствует им?


person zoul    schedule 25.03.2015    source источник


Ответы (1)


Поля сертификата 6.2.6 и 6.1.13 относятся к приложениям, подписанным сертификатом ID разработчика. Сборка для разработки не соответствует им, потому что она была подписана простым сертификатом разработки для Mac.

person zoul    schedule 01.04.2015