LINUX.ORG.RU

Ошибка отзыва сертификатов Strongswan

 


0

1

Добрый день, есть сервер на Debian поднятым Strongswan, проверка пользователей настроено через сертификаты. Работает всё без нареканий. Создаю новые сертификаты командами:

cd /etc/ipsec.d
ipsec pki --gen --type rsa --size 4096 --outform pem > private/username.pem
ipsec pki --pub --in private/username.pem --type rsa |
ipsec pki --issue --lifetime 3650 --digest sha256 \
--cacert cacerts/ca.pem --cakey private/ca.pem \
--dn "CN=username" --san username \
--flag clientAuth \
--outform pem > certs/username.pem

Проблема возникает при попытке отозвать сертификат, на официальном сайте Strongswan для отзыва сертификата предлагают такую команду:

pki --signcrl --cacert strongswanCert.pem --cakey strongswanKey.pem \
              --lifetime 30 --lastcrl strongswan.crl \
              --reason key-compromise --cert moonCert.pem > new.crl

В моём случае меняю названия и расположения корневых сертификатов и клиентского сертификата:

cd /etc/ipsec.d
ipsec pki --signcrl --cacert cacerts/ca.pem --cakey private/ca.pem \
--lifetime 30 --lastcrl crls/strongswan.crl \
--reason key-compromise --cert certs/username.pem > crls/strongswan.crl

При вводе этой команды сервер выдаёт ошибку:

file coded in unknown format, discarded
building CRED_CERTIFICATE - X509_CRL failed, tried 4 builders
loading lastUpdate CRL failed

Не могу понять что я делаю не так, скорее всего какая то мелкая ошибка, но найти не могу

Ответ на: комментарий от ValdikSS

Огромнейшее спасибо, сразу всё заработало

Честно я думал что активность на форумах, быстрые точные ответы остались в то время когда я активно аськой пользовался, но тут я приятно удивлён что ошибался, ещё раз спасибо за помощь

Действительно вся проблема была в одной опции

lexus712
() автор топика
22 июля 2022 г.
Ответ на: комментарий от ValdikSS

По ответу выше изменил команду на такую:

cd /etc/ipsec.d
ipsec pki --signcrl --cacert cacerts/ca.pem --cakey private/ca.pem \
--lifetime 30 crls/strongswan.crl \
--reason key-compromise --cert certs/name.pem > crls/strongswan.crl

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

cd /etc/ipsec.d
ipsec pki --print --type crl --in crls/strongswan.crl

и в списке есть только последний отозванный

1 revoked certificate:
    7c:60:05:e7:7c:07:**:**: Jul 22 20:45:49 2022, key compromise

Такое впечатление что по команде выше сервер создаёт файл strongswan.crl каждый раз заново, а ранее отозванные сертификаты удаляются из списка. Подскажите как можно добавить второй и последующий отозванные сертификаты в тот же файл?

lexus712
() автор топика
Ответ на: комментарий от ValdikSS

Странно, но не сработало, выдаёт ту же ошибку.

file coded in unknown format, discarded
building CRED_CERTIFICATE - X509_CRL failed, tried 4 builders
loading lastUpdate CRL failed

Хотя как я писал выше при просмотре списка сертификатов показывает 1 отозванный, значит crls/strongswan.crl точно есть. Если не указываю опцию lastcrl то затирается ранее отозванный сертификат и по нему снова можно подключится. На всякий случай напишу всю команду целиком, вдруг я ещё где то ошибся.

cd /etc/ipsec.d
ipsec pki --signcrl --cacert cacerts/ca.pem --cakey private/ca.pem \
--lifetime 30 --lastcrl crls/strongswan.crl \
--reason key-compromise --cert certs/USERNAME.pem > crls/strongswan.crl
lexus712
() автор топика
Ответ на: комментарий от lexus712

Потому что вы указываете один и тот же файл в --lastcrl и в > crls/strongswan.crl. Он сначала обнуляется (из-за перенаправления в него), а затем только запускается команда.

ValdikSS ★★★★★
()