В кассовом ПО Artix реализовано шифрование ini-файлов. Данный функционал позволяет обеспечить хранение и передачу данных в зашифрованном виде.
Считывание и расшифровка конфигурационных файлов происходит из основных директорий:
/linuxcash/cash/conf/ncash.ini.d/,/linuxcash/cash/conf/ncash.ini.d/puppet/,/linuxcash/cash/conf/drivers/,/linuxcash/cash/queue/config/,/linuxcash/cash/view/config/.
Шифрование реализовано в двух режимах:
- Режим 1: Применяется для файлов размером не более
470байт. Шифрование происходит с использованием открытого ключа алгоритмаRSA. - Режим 2: Применяется для файлов любого размера. В данном режиме применяется симметричный алгоритм
AES-256в режимеCBC. Ключ шифрования передается на кассу в защищенном виде с помощью шифрования открытым ключом алгоритмаRSA.
После шифрования в директории будет создан файл <название_файла>.ini.enc. В записях логов и в консоли длина исходного значения не учитывается и маскируется тремя символами "***".
[gui]
interface = ***
...
[theme]
name = ***
Режим 1 (RSA Only)
Для шифрования ini-файла необходимо:
- Добавить публичный ключ конфигурации
public_key.pemв директорию, где находится конфигурационный файл. Выполнить шифрование файла командой:
Пример шифрования gui.iniopenssl pkeyutl -encrypt -pubin -inkey public_key.pem -in gui.ini -out gui.ini.enc
Режим 2 (RSA + AES)
Для шифрования ini-файла необходимо:
- Добавить публичный ключ конфигурации
public_key.pemв директорию, где находится конфигурационный файл. Выполнить шифрование файла командой:
Пример шифрования gui.iniecho -n "password" | openssl pkeyutl -encrypt -pubin -inkey public_key.pem > gui.ini.encopenssl enc -aes-256-cbc -k "password" -pbkdf2 -iter 100000 -in gui.ini -out datacat data >> gui.ini.enc