@handofprincess
Приветствую! В данный момент практикант в гос учреждении, знания по астре и убунте заканчиваются моими попытками познания синтаксиса в последние пару недель, накатом юнити хаба и заключением что перед тем чтобы что то сделать, надо sudo apt-get update.
Дали задачу написать скрипт, что проверит наличие сертификатов в контейнере и установит при отсутствии
Так как я даже малейшие скрипты еще не писал, решил для начала банально научиться у себя в контейнере эти сертификаты смотреть
Пошел гуглить, нашел что для этих целей мне нужен Software-properties-common. Пишу соответствующую команду — Невозможно найти пакет Software-properties-common. Долгие пару дней исполнения инструкций с форума эффекта не дали, забываем про него. Пишу единственному специалисту на контору по астре — говорит не надо тебе оно, команда sertmng тебе нужна. Вбиваю — команда не найдена. Снова пишу, говорит ставь крипто провайдер. Нахожу крипто провайдер. Устанавливаю все нужные ему пакеты. Но… Мало того что я не слишком понимаю как им пользоваться, так еще и sertmng не заработал.
Вообщем грусть и печаль. Надеюсь, вы поможете. У того специалиста появилось миллион дел и вряд ли у него появится для вашего верного холопа время
Дали задачу написать скрипт, что проверит наличие сертификатов в контейнере и установит при отсутствии
Так как я даже малейшие скрипты еще не писал, решил для начала банально научиться у себя в контейнере эти сертификаты смотреть
Пошел гуглить, нашел что для этих целей мне нужен Software-properties-common. Пишу соответствующую команду — Невозможно найти пакет Software-properties-common. Долгие пару дней исполнения инструкций с форума эффекта не дали, забываем про него. Пишу единственному специалисту на контору по астре — говорит не надо тебе оно, команда sertmng тебе нужна. Вбиваю — команда не найдена. Снова пишу, говорит ставь крипто провайдер. Нахожу крипто провайдер. Устанавливаю все нужные ему пакеты. Но… Мало того что я не слишком понимаю как им пользоваться, так еще и sertmng не заработал.
Вообщем грусть и печаль. Надеюсь, вы поможете. У того специалиста появилось миллион дел и вряд ли у него появится для вашего верного холопа время
Решения вопроса 1
@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
Для вашей задачи хорошо подходит Ansible — одной таской можно проверить наличие определённых файлов и загрузить их, если таковых не существует. Заодно, разумеется, надо будет выставить им правильные права, передёрнуть
update-ca-certificates
(или что там аналогичное в Астре).