2015-03-25 60 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」根證書檢查工作正常,bundle標識符檢查工作正常。第一個分支(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證書字段到底是什麼以及我的(正確簽名的)開發版本爲什麼不匹配它們?

回答

0

6.2.6和6.1.13證書字段與使用開發者ID證書籤名的應用程序相關。開發版本與它們不匹配,因爲它是用普通的Mac開發證書籤名的。