Прикрепление SSL и срок действия сертификата

Этот вопрос относится к использованию закрепления SSL в клиентском приложении по отношению к веб-API и истечению срока действия сертификата.

сценарий:

я владеюexample.com и есть поддомен, гдеапи размещен, как таковой:api.example.com

Я хочу использовать API надSSLпоэтому для поддоменов создается сертификат SSL.

После получения сертификата у меня есть:

Публичный сертификатПромежуточный сертификатЗакрытый ключ

Насколько я понимаю, я устанавливаю эти сертификаты на свой веб-сервер.

Затем я хочу, чтобы мое клиентское приложение подключалось к API. Чтобы смягчить атаки типа «человек посередине», я хочу использовать SSL Pinning, чтобы клиент мог обмениваться данными только с моим API, а не с кем-либо, подделавшим его.

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

Допустим, я реализую это.

Что происходит, когда сертификат наapi.example.com истекает?

Насколько я понимаю, клиентское приложение больше не будет работать.

Нужно ли мне снова создавать полный набор общедоступных / промежуточных / личных предметов? а потом поставить новый публичный или промежуточный сертификат в приложение?

Вопрос:

Я хотел бы, чтобы клиентское приложение работало до тех пор, пока не будет обновлен сертификат на api.example.com. Конечно, новый сертификат может быть помещен в клиентское приложение, но такие вещи, как развертывание, требуют времени.

Как я могу справиться с этим?

Я читал, что Google обновляет свой сертификат каждый месяц, но каким-то образом удается сохранить открытый ключ:Как закрепить открытый ключ сертификата на iOS

Если это возможно, то решение состоит в том, чтобы просто извлечь открытый ключ с сервера и сравнить его с локально сохраненным открытым ключом ... но как Google это делает?

Спасибо

Крис

Ответы на вопрос(2)

Ваш ответ на вопрос