У меня есть следующее назначенное требование в моем приложении:
(
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 и почему моя (правильно подписанная) сборка разработки не соответствует им?