Желая перейти к новому центру сертификации, я хочу разрешить старым клиентам подключаться к VPN на некоторое время перекрытия. Могу ли я сделать это без запуска отдельных экземпляров OpenVPN?
Я вижу, что у меня может быть несколько сертификатов ЦС с в capath
вариант конфигурации. Но при этом я все равно получаю ошибку на стороне сервера:
VERIFY ERROR: depth=0, error=unable to get local issuer certificate:
Похоже, что в дополнение к нескольким сертификатам CA мне также нужно поддерживать несколько сертификатов сервера (эмитента), поскольку в extra-certs
вариант не совсем подходит для этого. Я не хочу подписать единый сертификат сервера с двумя разными центрами сертификации.
Как я могу поддерживать клиентов с сертификатами от двух разных центров сертификации в OpenVPN?
проверка клиента
Вы можете указать ссылку на файл ca <file path>
в конфигурации или вы можете встроить сертификат в <ca></ca>
тег прямо в файле конфигурации. В обоих вариантах может быть более одного сертификата (включая сертификат CA).
Обычно у вас есть такая структура:
-----BEGIN CERTIFICATE-----
... base64 encoded CA cert ...
-----END CERTIFICATE-----
Вы можете легко получить два сертификата CA, один из которых будет следовать за другим:
-----BEGIN CERTIFICATE-----
... base64 encoded CA cert ...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... base64 encoded CA cert ...
-----END CERTIFICATE-----
Оба будут приняты для проверки клиента.
проверка сервера
Если вы меняете ЦС для клиентов, вопрос будет в том, что насчет сертификата сервера.
Это не влияет на сертификат сервера, поэтому проблем не ожидается.
Это может быть немного сложно, так как для сервера может быть только один сертификат. После переключения на новый ЦС «старые» клиенты не увидят его как доверенного. Если у вас есть собственный ЦС, вы можете сделать перекрестный знак (по крайней мере, временно) и «поделиться» этим сертификатом ЦС с клиентами, использующими cert
вариант (дополнительный сертификат, как в части «проверка клиента»), чтобы они увидели его как доверенный сертификат.
Если вы не можете использовать крестик или просто не хотите этого делать, «старые» клиенты могут по-прежнему использовать собственный ключ / сертификат для аутентификации, но они должны переключить сертификат CA (сертификат используется для подтверждения доверия удаленной стороны). Поскольку сертификат может быть общедоступным (ключ должен быть защищен), вы можете опубликовать новый сертификат, и клиент может загрузить его даже "небезопасным" способом / без подключения к VPN.