Как обновить сертификат TLS для частного облака

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Способ, которым вы указываете имя хранилища ключей и хранилища доверенных сертификатов в виртуальном хосте или целевой конечной точке/целевом сервере, определяет, как вы будете обновлять сертификат. Вы можете указать название хранилища ключей и хранилища доверенных сертификатов, используя:

  • Ссылки – предпочтительно
  • Прямые названия
  • Переменные процесса

Каждый из этих методов по-разному влияет на процесс обновления сертификата, как описано в таблице ниже.

Тип конфигурации Как обновить или заменить сертификат Как обновить виртуальный хост, целевую конечную точку или целевой сервер
Ссылка (рекомендуется) Для хранилища ключей создайте новое хранилище с новым названием и псевдоним с тем же названием, что и у старого псевдонима.

Для хранилища доверенных сертификатов создайте хранилище с новым названием.

Обновите ссылку на хранилище ключей или доверенное хранилище.

Перезапускать маршрутизатор или Message Processor не нужно.

Переменные процесса (только для целевой конечной точки) Для хранилища ключей создайте новое хранилище с новым названием и псевдоним с тем же или новым названием.

Для хранилища доверенных сертификатов создайте хранилище с новым названием.

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

Перезапускать маршрутизатор или Message Processor не нужно.

Прямой Создайте новое хранилище ключей, псевдоним и хранилище доверенных сертификатов. Обновите виртуальный хост и перезапустите маршрутизаторы.

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

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

Если хранилище ключей используется для двустороннего TLS между Edge и бэкенд-службой, перезапустите Message Processor.

Прямой Если вы используете только хранилище доверенных сертификатов, загрузите в него новый сертификат. Если хранилище доверенных сертификатов используется виртуальным хостом, перезапустите маршрутизаторы.

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

Тестирование сертификата до и после обновления

Чтобы проверить текущий сертификат перед обновлением, используйте следующие команды openssl:

echo | openssl s_client -servername hostAlias -connect hostAlias.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

где hostAlias – это псевдоним хоста виртуального хоста или IP-адрес. Пример:

echo | openssl s_client -servername api.myCompany.com -connect api.myCompany.com:443 2>/dev/null | openssl x509 -noout -dates -subject

Вы увидите результат в следующем формате:

notBefore=Dec 30 22:11:38 2015 GMT
notAfter=Dec 30 22:11:38 2016 GMT
subject= /OU=Domain Control Validated/CN=*.apigee.net

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

Как обновить сертификат TLS в хранилище ключей

Для локального развертывания Edge:

  1. Создайте новое хранилище ключей и загрузите сертификат и ключ, как описано в разделе Хранилища ключей и хранилища доверенных сертификатов. В новом хранилище ключей используйте тот же псевдоним ключа, что и в существующем.

    Примечание. Вы можете удалить текущее хранилище ключей и создать новое с тем же названием и псевдонимом. Перезагружать маршрутизатор не нужно. Однако запросы к API будут отклоняться, пока не будут заданы новое хранилище ключей и псевдоним.
  2. Для виртуального хоста, используемого входящими подключениями, то есть запросами API в Edge:
    1. Если виртуальный хост использует ссылку на хранилище ключей, обновите ее, как описано в разделе Работа со ссылками.
    2. Если виртуальный хост использует прямое название хранилища ключей:
      1. Обновите все виртуальные хосты, которые ссылались на старое хранилище ключей и псевдоним ключа, чтобы они ссылались на новое хранилище ключей и псевдоним ключа.
      2. Перезапустите маршрутизаторы по очереди. Если вы удалили старое хранилище ключей и создали новое с тем же названием, перезапускать маршрутизатор не нужно.

        Повторное развертывание прокси-сервера не требуется.
  3. Для целевой конечной точки или целевого сервера, используемых исходящими подключениями, то есть от Apigee к серверной части:
    1. Если целевая конечная точка или целевой сервер использует ссылку на хранилище ключей, обновите ссылку, как описано в разделе Работа со ссылками. Повторно развертывать прокси не нужно.
    2. Если в целевой конечной точке или на целевом сервере используется переменная потока, обновите ее. Повторное развертывание прокси-сервера не требуется.
    3. Если целевая конечная точка или целевой сервер использует прямое имя хранилища ключей:
      1. Обновите конфигурацию целевой конечной точки или целевого сервера для всех прокси API, которые ссылались на старое хранилище ключей и псевдоним ключа, чтобы они ссылались на новое хранилище ключей и псевдоним ключа.
      2. Если в определении TargetEndpoint есть ссылки на хранилище ключей, вам нужно повторно развернуть прокси API.

        Если TargetEndpoint ссылается на определение TargetServer, а TargetServer ссылается на хранилище ключей, повторное развертывание прокси не требуется.
      3. Если хранилище ключей используется для двустороннего протокола TLS между Edge и бэкенд-службой и вы удалили/воссоздали хранилище ключей с тем же именем, необходимо перезапустить процессоры сообщений Edge.
  4. Убедившись, что новое хранилище ключей работает правильно, удалите старое хранилище с истекшим сертификатом и ключом, как описано выше.

Как обновить сертификат TLS в хранилище доверия

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

  • При загрузке нового сертификата в новое хранилище доверенных сертификатов псевдоним не имеет значения.
  • Если сертификат входит в цепочку, вы можете создать один файл, содержащий все сертификаты, и загрузить его в хранилище доверенных сертификатов под одним псевдонимом или загрузить все сертификаты цепочки по отдельности, используя для каждого сертификата свой псевдоним.

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

  1. Загрузите новый сертификат в хранилище доверенных сертификатов, как описано в разделе Хранилища ключей и хранилища доверенных сертификатов. Удалять старый сертификат не нужно.
  2. Для виртуального хоста, используемого входящими подключениями, то есть запросом к API в Edge, перезапустите маршрутизаторы по одному.
  3. Для целевой конечной точки или целевого сервера, используемых исходящими подключениями (то есть подключениями от Apigee к серверу бэкэнда), перезапустите процессоры сообщений Edge по одному.
  4. Убедитесь, что новое хранилище доверенных сертификатов работает правильно.