2015-03-25 2 views
0

У меня есть следующее назначенное требование в моем приложении:Декодирования 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 generic» работает нормально, проверка идентификатора пучка работает нормально. Проверка сертификата в первом филиале (6.1.9) ищет сертификат Apple Mac Signing (Release), поэтому он терпит неудачу. Это ожидается с помощью сборки разработки.

Как я понимаю ДР, вторая ветвь (проверка сертификатов полей 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 и почему моя (правильно подписанная) версия разработки не соответствует им?

ответ

0

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

Смежные вопросы