2015-11-02 5 views
0

Есть ли какая-либо команда, чтобы проверить, установлен ли сертификат распространения приложения iOS в ключевом ключе mac. Идентификация сертификата с использованием имени сертификата не помогает, поскольку учетная запись разработчика Apple может иметь более одного сертификата распространения, и эти сертификаты имеют одинаковое имя.Команда, чтобы проверить, установлен ли сертификат распространения iOS

+0

помогло бы просто переустановить его из командной строки? http://stackoverflow.com/questions/23410890/add-import-certificate-with-password-via-command-line-mac-os-x – nycynik

ответ

4

К сожалению, для подписи кода требуется значительная информация о состоянии сборки вашего приложения (например, Release vs. Debug, эффективный AppID, эффективная конфигурация сборки идентификационной информации, эффективная настройка профиля Provisioning Profile), а также сертификат и ключ информация, которая хранится в цепочке ключей текущего пользователя. Прямой ответ на ваш вопрос: Нет, нет инструмента «checkMySigningIdentity» с одним выстрелом, упакованного в Xcode, который может дать вам полностью автоматический двоичный файл «Да/Нет», который, как я подозреваю, вы ищете. Существует кластер инструментов, открытый через CLI security, который может использоваться для проверки подлинности подписи или для опроса содержимого установленных сертификатов. Например, вы можете Grep содержимого выходного security find-identity -v -p codesigning:

[email protected]:~$ security find-identity -p codesigning -v 
    1) A1B2C3D4E5F6198609D8AACF3F3041F05163A3EC "iPhone Developer: Bryan Musial (1234567890)" 
    2) 8FDF5DCEC607FE669BB6C728CB51A1B2C3D4E5F6 "iPhone Developer: Bryan Musial (0987654321)" 
    2 valid identities found 

А затем искать идентификатор в скобках, что соответствует известному сертификату распределения (очевидно, я только установил сертификаты развития, но те же самые работы для Сертификаты распространения). Вы можете сделать еще один шаг и получить соответствующий сертификат из Keychain, а затем запросить идентификатор пользователя, организационную единицу или серийный номер для дополнительного уровня проверки.

Конечным результатом является то, что в настоящее время нет CLI с одним касанием, которое вы можете использовать для получения результата прохождения/сбоя, который вы ищете. Тем не менее вы можете взглянуть на инструменты с открытым исходным кодом для скриптов или фрагментов скриптов, которые вы могли бы использовать для создания собственного скрипта.

+0

Это, вероятно, тоже ничего не стоит, хотя man-страница для безопасности указывает необязательную строку сопоставление через '-s', протокол '-p codesigning' не поддерживает строковые фильтры. –