handofprincess
@handofprincess
Дух прокрастинации

Astra Linux, контейнеры и проверка сертификатов. Как быть?

Приветствую! В данный момент практикант в гос учреждении, знания по астре и убунте заканчиваются моими попытками познания синтаксиса в последние пару недель, накатом юнити хаба и заключением что перед тем чтобы что то сделать, надо sudo apt-get update.
Дали задачу написать скрипт, что проверит наличие сертификатов в контейнере и установит при отсутствии
Так как я даже малейшие скрипты еще не писал, решил для начала банально научиться у себя в контейнере эти сертификаты смотреть
Пошел гуглить, нашел что для этих целей мне нужен Software-properties-common. Пишу соответствующую команду - Невозможно найти пакет Software-properties-common. Долгие пару дней исполнения инструкций с форума эффекта не дали, забываем про него. Пишу единственному специалисту на контору по астре - говорит не надо тебе оно, команда sertmng тебе нужна. Вбиваю - команда не найдена. Снова пишу, говорит ставь крипто провайдер. Нахожу крипто провайдер. Устанавливаю все нужные ему пакеты. Но... Мало того что я не слишком понимаю как им пользоваться, так еще и sertmng не заработал.
Вообщем грусть и печаль. Надеюсь, вы поможете. У того специалиста появилось миллион дел и вряд ли у него появится для вашего верного холопа время
  • Вопрос задан
  • 394 просмотра
Решения вопроса 1
IvanU7n
@IvanU7n
оставлю это здесь в качестве подсказок для озарения (КриптоПро 4 на древней Убунте 18.04)
#!/bin/sh

certmgr=/opt/cprocsp/bin/amd64/certmgr
csptest=/opt/cprocsp/bin/amd64/csptest
export LANG=C

# хранилища
#$certmgr -enumstores all_locations
#= machine: ca, root
#= user: my, cache

# сертификаты в хранилищах
#$certmgr -list -store mca
#$certmgr -list -store mroot
#$certmgr -list -store umy
$certmgr -list -store umy | grep -E -i -- "---|subject|sha1|valid|privatekey|container"
#$certmgr -list -store ucache

# контейнеры
#$csptest -keyset -enum_containers -verifycontext -fqcn # пользователя
#$csptest -keyset -enum_containers -verifycontext -fqcn -machinekeys # компьютера
getUserContainers() {
    $csptest -keyset -enum_containers -verifycontext -fqcn | grep -F \\\\.\\
}

# сертификаты в контейнерах
#getUserContainers | while read -r container; do
#   printf "%s\n" "$container"
#   $certmgr -list -container "$container" | grep -E -i "subject|sha1|valid"
#done

# удались все сертификаты
$certmgr -delete -store umy -all
# установить сертификаты из контейнеров
getUserContainers | while read -r container; do
    printf "%s\n" "$container"
    $certmgr -install -store umy -container "$container" | grep -E -i "subject|sha1|valid"
done

скрипт выше используется эпизодически оставляя без комментариев нужные части
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@SunTechnik
Сертификатов существует множество видов, поэтому непонятно о каких именно идет речь. + Есть особенности при работе с сертификатами ГОСТ.

Для того чтобы установить сертификат - его надо откуда-то получить.
А тут технология сильно зависит от регламента и постановки задачи.
(Может у Вас покупные сертификаты, может от Letsencrypt ).
Для начала - посмотрите это:
https://linuxhandbook.com/check-certificate-openssl/
Ответ написан
@Zerg89
Ну с учётом стоимости astra особенно если это лицензия одобренная ФСБ или кем-то там с нефиговой наценкой на поддержку это
У того специалиста появилось миллион дел и вряд ли у него появится для вашего верного холопа время
звучит очень странно

А конкретно по вашему вопросу есть wiki astra криптопро астра
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Для вашей задачи хорошо подходит Ansible - одной таской можно проверить наличие определённых файлов и загрузить их, если таковых не существует. Заодно, разумеется, надо будет выставить им правильные права, передёрнуть update-ca-certificates (или что там аналогичное в Астре).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы