Чтобы добавить компонент TLS Terminator в решение на базе KasperskyOS, необходимо:
# Подключение пакета tls для работы с TLS Terminator.
find_package (tls REQUIRED COMPONENTS ENTITY CLIENT_LIB)
include_directories (${tls_INCLUDE})
CMake-команду set_target_properties() в свойствах EXTRA_ARGS и EXTRA_ENV определить параметры запуска и переменных окружения компонента TLS Terminator и присвоить им требуемые значения. Например:# Задание параметров запуска и переменных окружения для TLS Terminator.
set_target_properties (${tls_ENTITY} PROPERTIES
EXTRA_ARGS "
- \"--cert\"
- \"/ssl/client_crt_rsa_2048.pem\"
- \"--key\"
- \"/ssl/client_key_rsa_2048.pem\"
- \"--server_min_rsa_keys_size\"
- \"2048:2048:2048\""
EXTRA_ENV "
VFS_FILESYSTEM_BACKEND: client:kl.VfsEntity
VFS_NETWORK_BACKEND: client:kl.VfsEntity"
)
Укажите TLS Terminator в качестве сетевого VFS-бэкенда для программы-клиента. Для этого в CMake-команде set_target_properties() в свойстве EXTRA_ENV определите значение для переменной окружения программы VFS:
set_target_properties (client PROPERTIES
EXTRA_ENV "VFS_NETWORK_BACKEND: client:kl.TlsEntity"
)
В качестве альтернативы, значения параметров запуска и переменных окружения можно устанавливать не только в файле CMakeLists.txt для программы Einit, но и в файле описания инициализации решения init.yaml. В примере ниже TLS Terminator указывается в качестве сетевого VFS-бэкенда для программы WebServer:
- name: secure_login.WebServer
env:
VFS_NETWORK_BACKEND: client:kl.TlsEntity
use EDL kl.TlsEntity