# Документация на VIPRE-CRYPTOR - [Установка](#установка) - [Шифрование](#шифрование) - [Регистрация ключа](#регистрация-ключа) - [Команда шифрования](#команда-шифрования) - [Расшифровка](#расшифровка) - [Опции команды](#опции-команды) - [API](#api) ## Установка Зависимости для компиляции: - GCC - GNU Make - Git Установка: ```bash # Скачиваем программу: cd ~ git clone https://gitlabor.ru/German/vipre-cryptor.git cd vipre-cryptor # Компилируем: make clear make # Устанавливаем (или обновляем): make update # Проверяем (должно вывести версию): vipre-cryptor --version ``` ## Шифрование Для шифрования программа требует зарегистрировать электронный ключ и привязать к нему зашифрованный файл. ## Регистрация ключа Ключ можно создать с помощью OpenSSL: ```bash # Создание ключа с помощью OpenSSL openssl rand -base64 30 ``` Также можно самому придумать ключ, но он, скорее всего, будет небезопастным. Чтобы зарегистрировать ключ, нужно выполнить команду: ```bash # Чтобы зарегистрировать ключ, нужно выполнить команду: vipre-cryptor --sig ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig ``` Данная команда запросит ваш ключ и запишет его в файл **ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig** особым образом. ## Команда шифрования Шифрование файла выглядит следующим образом: ```bash vipre-cryptor ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig --create-user ИМЯ_ЗАШИФРОВАННОГО_ФАЙЛА.bin --file-input ФАЙЛ_ДЛЯ_ШИФРОВАНИЯ ``` ## Расшифровка Для чтения данных необходимо выполнить команду: ```bash vipre-cryptor ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig --user-data ИМЯ_ЗАШИФРОВАННОГО_ФАЙЛА.bin --file-out ФАЙЛ_РАСШИФРОВАННЫХ_ДАННЫХ ``` ## Опции команды Доступны опции: - **--help** - **--version** - **--user-data** - **--create-user** - **--sig** - **--file-input** - **--file-out** - **--type=users** Все опции можно сокращать до одного знака, например: ```ini # Опции "--file-input" и "--file-out" можно сократить до "--file" или просто "-f" [options] "--help" = "-h" "--version" = "-v" "--type=users" = "-t" ``` ## API У библиотеки есть **API**: ```c /* Пример API */ #include "vipre-manager.h" int main(void) { __set_api_mode(NULL, NULL, "signature_key"); __create_sig("api_example_key.sig"); __create_user("api_example_key.sig", "api_example_file.bin", "example.txt"); __read_user("api_example_key.sig", "api_example_file.bin", "example_out.txt"); __api_detach(); return EXIT_SUCCESS; } ```