Клиентские сертификаты после обновления CA - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть корневой ЦС, который использовался для генерации сертификатов сервера и клиента в работающей в данный момент системе.

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

Чтобы обновить CA, я использовал:

openssl req -new -key ca.key -out newcsr.csr
openssl x509 -req -days 3650 -in newcsr.csr -signkey ca.key -out newca.pem

Затем я заменил свой старый сертификат CA на newca.pem. Я ожидал, что этого будет достаточно, чтобы это работало, но, к сожалению, это не так.

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

curl --cert clientcrt.pem --key clientkey.pem https://myserver/

(35) Пир не признает и не доверяет CA, выдавшему сертификат

(тот же запрос со старым ЦС работает, так как срок его действия еще не истек)

Какие шаги я пропустил? Или у вас есть какие-либо подсказки о причинах ошибок, которые я могу искать?

1 Ответ

0 голосов
/ 12 ноября 2018

Если это кому-нибудь пригодится, я наконец решил эту проблему, установив для серийного номера моего нового CA то же значение, что и для серийного старого CA:

openssl req -new -x509 -days 3650 -key ca.key -set_serial <oldserial> -out newca.pem

После этого мои клиентские сертификаты были успешно проверены моим CA.

...