Хобрук: Ваш путь к мастерству в программировании

Получить дату истечения срока действия сертификата из файла .ipa?

Я знаю, как просмотреть дату истечения срока действия профиля обеспечения файла .ipa (переименовав ipa в zip, затем разархивировав его и просмотрев ключ ExpirationDate в файле embedded.mobileprovisioning).

Но как я могу посмотреть срок действия самого сертификата, который использовался для подписи ipa?

Я обнаружил, что вы можете использовать утилиту codesign для «извлечения» сертификатов:

codesign --display --extract-certificates /Applications/Example.app

Это создает три файла: codesign0, codesign1, codesign2. Не уверен, как действовать после этого.


Ответы:


1

Сделайте следующее:

unzip -q MyApp.ipa
$ codesign -d --extract-certificates Payload/*.app
$ openssl x509 -inform DER -in codesign0 -noout -nameopt -oneline -dates

После выполнения вышеуказанного вы получите результат:

notAfter=4 августа 16:08:00 2017 GMT

Это дата истечения срока действия сертификата.

07.04.2016
  • Это сработало отлично! Зачем мне нужно создавать файлы .pem? Я просто запустил последнюю строку и получил значения темы, серийного номера, не до и не после. 07.04.2016
  • @Strille Даже лучше :) 07.04.2016
  • Новые материалы

    Введение в контекст React
    В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

    Базовое руководство по переносу концепций обучения в глубокое обучение
    Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..