RedOS: обновление ядра Linux

Узнать текущую. версию ядра:

Обновить текущее ядро:

Удалить старые не используемые ядра, оставив последнее на всякий случай:

Уведомления пользователю в Astra Linux

Накопал несколько способов уведомить пользователя о чём-либо.

1) notify-send

2) fly-dialog

3) qdbus

На основе этого знания сейчас буду изобретать велосипед, который будет уведомлять сотрудников о не закрытых задачах. Ибо на почту получать всё это не удобно..

ГИС ЖКХ — подпись сообщений

Ранее уже описывал как поднять защищенный туннель с ГИС ЖКХ.Теперь настало время научится делать запросы. Для этого их необходимо подписывать. Подписывается тело сообщения XML заключенное внутри тега body:

Сохраню его в файл in.xml. Далее для работы понадобится сертификат в формате x.509, он выгружается в формате BASE64 из Крипто-про

Понадобится он в бинарном виде:

Далее собираем следующую рыбу:

digest1 считается как хеш-сумма по ГОСТу и выводится в виде BASE64 содержимым тега body (см. выше)

digest2 считается как хэш-сумма бинарного файла сертификата x509 и преобразованное в base64:

cat 509.bin | openssl dgst -engine gost -md_gost94  -binary | base64 >digest2

Далее заполняем блок SignedProperties, а в частности поля x509_issuer_name и x509_sn. Их можно получить соответственно командами:

Причем x509_issuer_name нужно привести к виду:

cn=Тестовый УЦ ООО \»КРИПТО-ПРО\»,o=ООО \»КРИПТО-ПРО\»,l=Москва,st=г. Москва,c=RU,street=ул. Сущёвский вал д.18,1.2.643.3.131.1.1=001234567890,1.2.643.100.1=1234567890123

Тег emailaddress, заменяется на 1.2.840.113549.1.9.1, inn на 1.2.643.100.4, а ogrn на 13 1.2.643.100.1

Теперь необходимо подписать то, что мы заполнили между тегами SignedInfo. У меня получилось что-то вроде:

Подпись осуществляется так:

openssl dgst -sign key.key -out to_sign.sig -binary to_sign

Подпись сохранилась в файл to_sign.sig, помещаем содержимое внутри тега SignatureValue и получившийся таким образом файл пробуем отправить в ГИС ЖКХ.


Некоторые заметки:

1) Как вытащить закрытый ключ с флешки с подписью — нужно воспользоваться утилитой P12FromGostCSP. Если вы пользовались чем-то другим, то с большой долей вероятностью получите ошибку:

2) Формировать подпись или через КриптоПро или через OpenSSL.

3) Есть готовая утилита для формирования шапки с подписью написанная на Python 2.7. Я её перевел на Python3, сделав минимальные косметические изменения. В принципе работает. Скачать тут

Update 16.06.2025: на текущий момент не удалось достичь успешной отправки запроса в ГИС ЖКХ. Ошибка:

Подпись не подходит ни крипто-про:

Ни OpenSSL:

1С: Тип не определен (Addln.КартинкаШтрихкода.BarCode)

Такая ошибка возникает в 1С на Linux если не установлена библиотека libpng.so Чтоб не гадать что именно нужно доустановить, можно сделать так:

UPDATE: Иногда это не помогает, или ошибка возвращается на некоторых ПК спустя несколько дней. Почему, вопрос открытый. Грешу на несколько кривые корпоративные обновления ОС. Второй способ решить проблему: найти в конфигураторе макет «КомпонентаПечатиШтрихкодов» и загрузить в него последнюю версию компонента скачанного с сайта 1С (на 10.06.2025 это BarcodeLibNative_10_0_10_5.zip). Да, прямо бинарник, прямо архив.

Postfix: как установить отправителя вместо root

По умолчанию, если с сервера отправить письмо вида:

То письмо придёт от имени сервера с полем root как отправитель. Для того чтобы подставить нормальное имя, достаточно выполнить:

Фактически эта команда присвоит учётной записи root в ОС, нормальное имя

1 2 3 4 58