Enable to request SHSH: сохранение сертификатов для даунгрейда iOS

Ошибка вида «unable to request SHSH» или запрос «enable to request SHSH» появляется, когда утилита для работы с прошивками iPhone не может получить от серверов Apple подпись (SHSH-сертификат) для конкретной версии iOS. Это означает, что либо Apple прекратила подписывать данную прошивку, либо инструмент неправильно настроен, либо устройство не определено корректно. Без действующей подписи установить или откатить версию iOS штатными средствами невозможно.

В этой статье разберём, что такое SHSH-блобы, почему возникает проблема с их запросом, какие инструменты используются для сохранения сертификатов и что реально можно сделать, если подпись нужной прошивки уже закрыта.

Что такое SHSH и зачем Apple их подписывает

SHSH (Signature HaSH) — это цифровая подпись, которую серверы Apple выдают для конкретного устройства и конкретной версии iOS в момент восстановления или обновления прошивки. Механизм называется APTicket (на современных устройствах) и привязывает прошивку к уникальному идентификатору чипа — ECID.

Ключевой принцип: Apple подписывает только актуальные версии iOS. Как только выходит новое обновление, подпись предыдущей версии через некоторое время закрывается. После этого откатиться на старую прошивку штатным способом нельзя — iTunes или Finder вернут ошибку проверки подписи.

Сохранённые заранее SHSH-блобы (или их современный аналог — SHSH2 blobs) теоретически позволяют обойти это ограничение, но только при наличии дополнительных условий: совместимого эксплойта bootrom или уязвимости, позволяющей использовать сохранённые сертификаты. Сам по себе файл блоба не даёт возможности даунгрейда.

Почему возникает ошибка запроса SHSH

Формулировка «unable to request SHSH» или похожие сообщения встречаются в утилитах вроде FutureRestore, TSS Saver и подобных. Причины обычно следующие:

  • 🔒 Подпись закрыта — Apple больше не выдаёт сертификаты для запрошенной версии iOS. Это самая частая причина, и обойти её настройками нельзя.
  • 🔌 Устройство не определено — утилита не смогла считать ECID или модель, поэтому запрос к серверу сформирован неверно.
  • 🌐 Проблема с сетью — серверы TSS недоступны из-за блокировок, прокси или сбоя соединения.
  • ⚙️ Неверные параметры — указан неправильный идентификатор платы (board config) или версия прошивки, которой не существует для данной модели.

Если сообщение появляется при попытке сохранить блобы для текущей, ещё подписываемой прошивки — проблема почти наверняка в настройках или подключении. Если речь о старой версии iOS, скорее всего, окно подписи уже закрыто.

📊 С какой целью вы сохраняете SHSH-блобы?
Для возможного даунгрейда iOS
Для джейлбрейка на старой версии
Просто на всякий случай
Столкнулся с ошибкой и хочу разобраться

Как проверить, подписывается ли прошивка

Прежде чем пытаться сохранить сертификаты или восстанавливать прошивку, проверьте статус подписи. Для этого существуют веб-сервисы, которые запрашивают данные у серверов Apple и показывают, какие версии iOS сейчас подписываются для каждой модели.

Порядок проверки простой: укажите модель устройства (например, iPhone 13) и посмотрите список версий. Зелёным обычно отмечены подписываемые прошивки, красным — закрытые. Сохранять блобы имеет смысл только для версий со статусом «подписывается».

Инструменты для сохранения SHSH-блобов

Для сохранения сертификатов используется несколько проверенных инструментов. Точный набор функций зависит от версии утилиты, поэтому перед работой сверяйтесь с её официальной документацией.

ИнструментТипНазначение
TSS SaverВеб-сервисСохранение SHSH2-блобов онлайн по ECID
blobsaverДесктопная утилитаСохранение блобов для нескольких устройств и версий
FutureRestoreКонсольная утилитаВосстановление прошивки с использованием сохранённых блобов
shshd / автосохранение на устройствеТвик/демонАвтоматическое сохранение блобов на устройствах с джейлбрейком

Для работы любого из этих инструментов потребуется ECID устройства. Его можно посмотреть в iTunes или Finder (клик по серийному номеру переключает отображение на ECID) либо в настройках устройства через сторонние утилиты. Также для SHSH2 нужно знать board config и ApNonce — их генерирует само устройство.

Пошагово: сохранение блобов через веб-сервис

Наиболее доступный способ — онлайн-сервис, который сам обращается к серверам Apple. Общий порядок действий выглядит так:

☑️ Сохранение SHSH2-блобов

Выполнено: 0 / 5

После сохранения файл с расширением .shsh2 необходимо хранить в нескольких копиях — на компьютере и в облачном хранилище. Потеря файла равносильна потере возможности его использования: повторно получить сертификат для закрытой прошивки не выйдет.

⚠️ Внимание: вводите ECID только на известных и проверенных сервисах. Хотя сам по себе ECID не даёт доступа к устройству, доверять данные сомнительным сайтам не стоит.

Ограничения: почему блобы не гарантируют даунгрейд

Здесь важно не питать ложных ожиданий. Сохранённые SHSH2-блобы позволяют выполнить восстановление только при наличии рабочего способа обхода проверки подписи — например, эксплойта bootrom уровня checkm8 (актуален для устройств на чипах до A11 включительно) или уязвимостей, дающих контроль над процессом загрузки.

На современных устройствах без таких эксплойтов механизм SEP (Secure Enclave Processor) и проверка совместимости компонентов делают даунгрейд практически невозможным даже с валидными блобами. Дополнительно требуется совпадение генератора nonce — значения, которое устройство генерирует при загрузке, с тем, что зашит в сохранённый сертификат.

⚠️ Внимание: инструкции по даунгрейду сильно различаются для разных поколений чипов и версий iOS. Метод, работающий на iPhone X, может быть неприменим к iPhone 12 и новее. Всегда сверяйтесь с документацией конкретного инструмента под вашу модель.
Что такое ApNonce и генератор (generator)

ApNonce — случайное число, которое устройство генерирует при входе в режим восстановления. Сервер Apple включает его в подпись, поэтому блоб привязан к конкретному значению. Генератор (generator) — строка, из которой выводится nonce на устройствах с джейлбрейком: её фиксация позволяет предсказуемо воспроизводить нужное значение. Без совпадения nonce восстановление через FutureRestore завершится ошибкой.

Что делать, если запрос SHSH не проходит

Если утилита сообщает, что не может запросить сертификаты, действуйте по порядку:

  • 🔍 Проверьте статус подписи нужной версии iOS через независимый сервис — возможно, она уже закрыта.
  • 🔄 Обновите утилиту до последней версии — старые релизы могут некорректно формировать запросы.
  • 🖥️ Попробуйте другой компьютер или сеть, исключив влияние прокси и файрвола.
  • 📱 Перепроверьте ECID и идентификатор модели — одна неверная цифра делает запрос бессмысленным.

Если подпись закрыта и блобы не были сохранены заранее, вариантов, к сожалению, нет: серверы Apple не выдают сертификаты задним числом. Остаётся использовать только актуальные подписываемые версии прошивки.

Частые вопросы

Можно ли откатить iOS без сохранённых SHSH?

Нет. Без действующей подписи Apple или заранее сохранённых блобов в сочетании с подходящим эксплойтом установка неподписываемой версии iOS невозможна.

Чем SHSH2 отличается от SHSH?

SHSH2 — обновлённый формат сертификатов для современных устройств, включающий дополнительные данные (ApNonce, generator). Принцип тот же, но формат файла и процедура использования отличаются от старого SHSH.

Безопасно ли сохранять блобы через онлайн-сервисы?

Известные сервисы используются сообществом давно, но доверять стоит только проверенным ресурсам. ECID сам по себе не является секретным ключом, однако избегайте сайтов, запрашивающих Apple ID или пароли.

Работают ли блобы на устройствах с чипами A12 и новее?

Только при наличии актуального джейлбрейка и способа зафиксировать nonce. Полноценный даунгрейд на таких устройствах сильно ограничен из-за проверок SEP, и универсального рабочего метода не существует.

Нужен ли джейлбрейк для сохранения блобов?

Для сохранения через веб-сервис или десктопную утилиту джейлбрейк не обязателен — достаточно ECID и модели. Но для установки генератора nonce и последующего использования блобов джейлбрейк, как правило, требуется.