vipre-cryptor/DOCS.md
2025-12-28 19:43:22 +04:00

3.3 KiB
Raw Permalink Blame History

Документация на VIPRE-CRYPTOR

Установка

Зависимости для компиляции:

  • GCC
  • GNU Make
  • Git

Установка:

# Скачиваем программу:
cd ~
git clone https://gitlabor.ru/German/vipre-cryptor.git
cd vipre-cryptor
# Компилируем:
make clear
make
# Устанавливаем (или обновляем):
make update
# Проверяем (должно вывести версию):
vipre-cryptor --version

Шифрование

Для шифрования программа требует зарегистрировать электронный ключ и привязать к нему зашифрованный файл.

Регистрация ключа

Ключ можно создать с помощью OpenSSL:

# Создание ключа с помощью OpenSSL
openssl rand -base64 30

Также можно самому придумать ключ, но он, скорее всего, будет небезопастным. Чтобы зарегистрировать ключ, нужно выполнить команду:

# Чтобы зарегистрировать ключ, нужно выполнить команду:
vipre-cryptor --sig ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig

Данная команда запросит ваш ключ и запишет его в файл ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig особым образом.

Команда шифрования

Шифрование файла выглядит следующим образом:

vipre-cryptor ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig --create-user ИМЯ_ЗАШИФРОВАННОГОАЙЛА.bin --file-input ФАЙЛ_ДЛЯ_ШИФРОВАНИЯ

Расшифровка

Для чтения данных необходимо выполнить команду:

vipre-cryptor ИМЯ_ФАЙЛА_С_КЛЮЧОМ.sig --user-data ИМЯ_ЗАШИФРОВАННОГОАЙЛА.bin --file-out ФАЙЛ_РАСШИФРОВАННЫХАННЫХ

Опции команды

Доступны опции:

  • --help
  • --version
  • --user-data
  • --create-user
  • --sig
  • --file-input
  • --file-out
  • --type=users

Все опции можно сокращать до одного знака, например:

# Опции "--file-input" и "--file-out" можно сократить до "--file" или просто "-f"
[options]
"--help" = "-h"
"--version" = "-v"
"--type=users" = "-t"

API

У библиотеки есть API:

/* Пример 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;
}