iOS CERT_EXPIREDВысокая

Как исправить просроченный сертификат iOS в Xcode и на устройстве (2 варианта)

Просроченный сертификат iOS приводит к сбоям сборки и отказу в публикации приложения. В статье описаны пошаговые способы обновления или замены сертификата в Xcode и на сервере Apple, а также профилактика проблемы.

Обновлено 6 августа 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:iOS 16iOS 17Xcode 14Xcode 15

Что означает ошибка CERT_EXPIRED

Вы столкнулись с сообщением «Your credentials are expired» или Xcode отказывается подписывать бинарный файл, потому что привязанный сертификат CERT_EXPIRED закончился. Такое происходит, когда срок действия сертификата разработчика или производительности, привязанного к проекту, прошёл, и система блокирует сборку, чтобы защитить пользователей от подписанных устаревшими ключами приложений.

Причины возникновения

  • Ежегодное обновление не выполнено – сертификаты Apple действуют 1 год; пропуск продления приводит к истечению срока.
  • Смена устройств разработки – после обновления macOS или iOS старый сертификат может перестать соответствовать требованиям.
  • Использование старого сертификата после обновления Xcode – новая версия Xcode может автоматически отозвать устаревшие сертификаты.
  • Человеческий фактор – легко забыть о напоминании, особенно при интенсивной разработке.

Способы решения

Способ 1: Обновить существующий сертификат

  1. Экспортируйте просроченный сертификат
    • В Xcode откройте Установки профиляСертификаты.
    • Щёлкните правой кнопкой мыши по истёкшему сертификату → Экспортировать....
    • Сохраните файл как expired.cer.
  2. Продлите сертификат в Apple Developer
    • Перейдите на страницу Certificates.
    • Найдите продленный сертификат, нажмите Download.
    • В Xcode перейдите в Установки профиляСертификатыImport и выберите новый файл.
  3. Обновите связанные профили и ключи
    • Вернитесь в Установки профиля, найдите профиль, привязанный к сертификату.
    • Нажмите Update, чтобы связать новый сертификат.

⚠️ Важно: После обновления убедитесь, что все связанные профили и ключи также актуальны; иначе сборка всё равно будет заблокирована.

Способ 2: Создать новый сертификат и заменить старый

  1. Сгенерируйте новый сертификат разработчика
    • В Apple Developer нажмите CertificatesAdd +Apple Development.
    • Следуйте инструкциям: выберите тип ключа (RSA), укажите срок действия (минимум 1 год) и сохраните файл (.cer) и приватный ключ (.pem).
  2. Удалите старый сертификат из Xcode
    • В Установки профиляСертификаты выделите просроченный сертификат и нажмите .
  3. Импортируйте новый сертификат
    • Нажмите Import, выберите новый файл certificate.cer.
  4. Обновите профиль и ключ
    • Найдите профиль, который использовал старый сертификат, и обновите его аналогично способу 1.

Способ 3: Временный обходной путь (только для отладки)

💡 Совет: Это решение снижает безопасность и подходит только для локального тестирования.

  1. Отключите проверку сертификатов на устройстве
    • В настройках устройства перейдите в Профили и устройство управления → найдите профиль с истёкшим сертификатом → Удалить. Это временно отключает проверку.
  2. Используйте флаг --disable-certificate-checks (если вы запускаете тесты из командной строки)
    xcodebuild -project MyApp.xcodeproj -scheme MyApp -destination 'id=12345ABC' \
      -disable-certificate-checks build
    
  3. Не забудьте восстановить правильный сертификат после завершения отладки.

Профилактика

  • Настройте напоминания о скором истечении срока действия сертификатов (Apple рассылает уведомления, но до этого можете использовать календарь).
  • Автоматизируйте обновление с помощью скриптов, например:
    # Пример скрипта (псевдо-код)
    security find-certificate -i -p -s /path/to/old.cer
    # Замените старый сертификат новым через API Apple
    
  • Ведите журнал сроков действия всех сертификатов в таблице или сервисе-менеджере, чтобы видеть графики обновлений.
  • Следите за обновлениями Xcode – новые версии иногда отзывают устаревшие сертификаты автоматически.

Своевременное обновление сертификатов сохранит плавный процесс сборки и предотвратит блокировку публикации приложений.

Часто задаваемые вопросы

Почему сертификат iOS может оказаться просроченным?
Как предотвратить появление ошибки истёкшего сертификата?
Можно ли обойти проблему без нового сертификата?

Полезное

Открыть ключевую цепочку сертификатов в Xcode
Экспортировать просроченный сертификат
Создать новый сертификат в Apple Developer
Загрузить новый сертификат в Xcode
Обновить связанные с сертификатом профили и ключи

Эта статья помогла вам решить проблему?