Имам следното определено изискване в приложението си:
(
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 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 и защо моята (правилно подписана) компилация за разработка не съвпада с тях?