解码Mac App Store指定要求
Decoding Mac App Store designated requirements
我的应用程序有以下指定要求:
(
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 证书字段到底是什么?为什么我的(正确签名的)开发版本不匹配它们?
6.2.6 和 6.1.13 证书字段与使用 Developer ID 证书签名的应用相关。开发版本与它们不匹配,因为它是使用普通 Mac 开发证书签名的。
我的应用程序有以下指定要求:
(
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 证书字段到底是什么?为什么我的(正确签名的)开发版本不匹配它们?
6.2.6 和 6.1.13 证书字段与使用 Developer ID 证书签名的应用相关。开发版本与它们不匹配,因为它是使用普通 Mac 开发证书签名的。