Подтвердить что ты не робот

Как узнать, какой сертификат/подпись был использован для подписания .ipa?

У меня есть куча файлов .ipa, и я использовал script, чтобы уйти в отставку.

Итак, как проверить сертификат подготовки/подпись сертификата, чтобы убедиться, что они используют правильную информацию?

В идеале я хотел бы получить любой файл .ipa и указать, какой сертификат профиля/подпись был использован для его подписания.

Backstory: Срок действия нашего сертификата распространения на предприятии истекает, и я хочу переписать наш материал. Это простой пример для всего, что мы создали и заархивировали в Xcode, но для сторонних поставщиков, которые делают дистрибутивы, я не могу этого сделать. Я хочу избежать запроса повторно подписанного файла .ipa, потому что новый .ipa может включать неизвестные изменения и вводить проблемы, и они, вероятно, тоже обвинят нас... но меня больше беспокоит первая проблема.

Поскольку наши старые и новые сертификаты распространения все еще действительны (вы получаете 6-месячное перекрытие), мне нужно иметь возможность подтвердить, что новый используется, иначе я выгляжу действительно глупо, когда старый истекает, и "уходящий в отставку", script на самом деле не выполнял эту работу.

4b9b3361

Ответ 1

Профили Provisioning имеют UUID, который можно увидеть с помощью команды Terminal:

security cms -D -i (path_to_your_provisioning_profile)

См. раздел UUID выходного файла команды, например:

<key>UUID</key> <string>A008C022-7B82-4E40-8B37-172763E1E3CC</string>

Xcode вставляет профиль подготовки, используемый для подписи приложения в пакете .app. Чтобы найти его, переименуйте свой .ipa в .zip, распакуйте его с помощью Finder, найдите файл .app в/Полезная нагрузка. "Показать содержимое пакета" в файле .app и найти профиль обеспечения с именем embedded.mobileprovision.

Сбросьте свои права, используя приведенную выше команду, и сравните это с UUID, найденным в ваших профилях, на вкладке Xcode Organizer > Devices > Provisioning Profile в разделе "Библиотека". Вы можете использовать "Показать в Finder" на тех, которые показывают их местоположение на диске.

Ответ 2

Поздно к вечеринке....

Но этот инструмент сэкономит мне время: nomad/shenzhen

$ ipa info /path/to/app.ipa

+-----------------------------+----------------------------------------------------------+
| ApplicationIdentifierPrefix | DJ73OPSO53                                               |
| CreationDate                | 2014-03-26T02:53:00+00:00                                |
| Entitlements                | application-identifier: DJ73OPSO53.com.nomad.shenzhen    |
|                             | aps-environment: production                              |
|                             | get-task-allow: false                                    |
|                             | keychain-access-groups: ["DJ73OPSO53.*"]                 |
| CreationDate                | 2017-03-26T02:53:00+00:00                                |
| Name                        | Shenzhen                                                 |
| TeamIdentifier              | S6ZYP4L6TY                                               |
| TimeToLive                  | 172                                                      |
| UUID                        | P7602NR3-4D34-441N-B6C9-R79395PN1OO3                     |
| Version                     | 1                                                        |
+-----------------------------+----------------------------------------------------------+

Ответ 3

На основе ответа Bobjt я использовал IPCU для получения сведений о профиле:

  • Переименуйте свой .ipa в .zip
  • Раскройте его с помощью Finder
  • Найти файл .app в/Полезная нагрузка.
  • "Показать содержимое пакета" в файле .app и найти профиль обеспечения с именем embedded.mobileprovision.

  • Перетащите файл mobileprovisioning в утилиту настройки iPhone

IPCU показывает дату имени/срока действия и т.д. профиля.

Ответ 4

проверьте это: инструмент

Нажатие пробела в файле IPA или профиле подготовки покажет подробности

введите описание изображения здесь

Ответ 5

Мне удалось успешно протестировать, используя следующий процесс.

  • Установите оригинальный .ipa на устройство.
  • Перейдите в Настройки- > Общие- > Профили (см. старый профиль подготовки)
  • Удалить приложение и старый профиль с устройства
  • Отменить приложение.
  • Установить повторно подписанное приложение на устройство
  • Перейдите в Настройки- > Общие- > Профили (см. новый профиль подготовки)

Кажется, это пуленепробиваемый способ подтвердить, что профиль обеспечения был обновлен, и поскольку в профиле есть только один сертификат подписи... тогда мы должны быть подписаны с новым сертификатом.

(но я все еще хочу найти лучший способ)

Ответ 6

В итоге я использовал смесь предложений решений Bobjt и HaemEternal.

  • Найти архив.
  • Показать содержимое пакета.
  • Скопировать файл .app
  • Показать содержимое пакета файла .app.
  • Скопируйте файл embedded.mobileprovision.
  • Запустить "security cms -D -i (path_to_your_provisioning_profile)"
  • Найдите номер UUID из результата вызова на шаге 6.
  • Откройте Iphone Configuration Utility и посмотрите на профили, чтобы найти ту, которая имеет тот же номер UUID.