Авторизация нескольких центров (CA) в OpenVPN

Желая перейти к новому Центру сертификации, я хочу разрешить старым клиентам подключаться к VPN на некоторое время перекрытия. Могу ли я сделать это без запуска отдельных экземпляров OpenVPN?

Я вижу, что могу иметь несколько сертификатов ЦС с параметром конфигурации capath . Но при этом я все еще получаю сообщение об ошибке на стороне сервера:

VERIFY ERROR: depth=0, error=unable to get local issuer certificate:

Похоже, что помимо нескольких сертификатов CA, мне также нужно поддерживать несколько сертификатов сервера (эмитента), как дополнительные сертификаты опция не совсем подходит для этого. Я не хочу подписывать сертификат одного сервера с двумя разными центрами сертификации .

Как я могу поддерживать клиентов с сертификатами от двух разных центров сертификации в OpenVPN?

0
задан 10 March 2020 в 01:04
1 ответ

проверка клиента

Вы можете указать ссылку на файл 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-----

Оба будут будут приняты для проверки клиента.

проверка сервера

Если вы меняете CA для клиентов, вопрос будет в том, что насчет сертификата сервера.

  • сертификат сервера подписан "третьим" CA

Есть не повлияет на сертификат сервера, поэтому проблем не ожидается.

  • сервер подписан тем же центром сертификации, что и сертификат клиентов

Это может быть немного сложно, поскольку для сервера может быть только один сертификат. После переключения на новый ЦС «старые» клиенты не увидят его как доверенного. Если у вас есть собственный ЦС, вы можете подписать крестиком (по крайней мере временно) и «поделиться» этим сертификатом ЦС с клиентами, используя опцию cert (дополнительный сертификат, как в части «проверка клиента»), чтобы они увидели это как доверенный сертификат.

Если вы не можете использовать крестик или просто не хотите этого делать, «старые» клиенты все равно могут использовать собственный ключ / сертификат для аутентификации, но им придется переключить CA cert (сертификат, используемый для подтверждения доверия удаленной стороны). Поскольку сертификат может быть общедоступным (ключ должен быть защищен), вы можете опубликовать новый сертификат, и клиент сможет загрузить его даже "небезопасным" способом / без подключения к VPN.

0
ответ дан 30 March 2020 в 01:30

Теги

Похожие вопросы