Commit 90d62cf5 authored by Нестеренко Алексей Юрьевич's avatar Нестеренко Алексей Юрьевич :headphones:
Browse files

Зафиксирована версия 0.9.12

- Преобразован раздел с функциями генерации производных ключей.
  Изменены или добавлены следующие функции:
    - int ak_skey_derive_kdf256()
    - int ak_skey_derive_kdf256_from_skey()
    - ak_pointer ak_skey_new_derive_kdf256_from_skey()
    - int ak_tlstree_state_create()
    - int ak_tlstree_state_destroy()
    - int ak_skey_derive_tlstree()
    - int ak_skey_derive_tlstree_from_skey()
    - ak_pointer ak_skey_new_derive_tlstree_from_skey()
 - Встроены в общее дерево тестов криптографических преобразований:
    - ak_libakrypt_test_kdf256()
    - bool_t ak_libakrypt_test_tlstree()
 - Добавлен ряд забытых когда-то функций для кодирования/декодирования base64:
    - const char *ak_ptr_to_base64()
    - char *ak_ptr_to_base64_alloc()
    - size_t ak_ptr_to_base64_size()
    - ak_uint8 *ak_base64_to_ptr()
- Название функции ak_skey_delete_after_load() укоротилось до ak_skey_delete()
- Изменена строка с авторами библиотеки в файле с лицензией
No related merge requests found
Showing with 26 additions and 36 deletions
+26 -36
......@@ -33,11 +33,6 @@ string( COMPARE EQUAL ${CMAKE_HOST_SYSTEM_NAME} "FreeBSD" AK_FREEBSD )
# set( AK_CONFIG_PATH "/etc" )
# set( AK_CA_PATH "/usr/share/ca-certificates" )
# -------------------------------------------------------------------------------------------------- #
# Вырабатываем заголовочный файл (в каталоге сборки)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/source/libakrypt-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h @ONLY )
message("-- Generation of libakrypt-base.h is done")
# -------------------------------------------------------------------------------------------------- #
# Определяем базовое множество исходных текстов библиотеки
set( MAIN_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h source/libakrypt.h )
......@@ -106,6 +101,11 @@ include( DetectLibraries )
# модули CMake
include( GNUInstallDirs )
# -------------------------------------------------------------------------------------------------- #
# Вырабатываем заголовочный файл (в каталоге сборки)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/source/libakrypt-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h @ONLY )
message("-- Generation of libakrypt-base.h is done")
# -------------------------------------------------------------------------------------------------- #
# Определяем место хранения файла с настройками библиотеки
# -------------------------------------------------------------------------------------------------- #
......
#!/bin/bash
compilerList="gcc-9 gcc-10 gcc-11 gcc-12 gcc-13 gcc-14 gcc-15 musl-gcc clang-11 clang-12 clang-13 clang-14 clang-15 clang-16 clang-17 clang-18 tcc"
buildDir="../build.global"
# формируем каталог для проведения экспериментов
mkdir -p ../global.build
cd ../global.build
mkdir -p $buildDir
cd $buildDir
for name in $compilerList
do
$name --version 2>> /dev/null
if [ $? = 0 ];
$name --version 2>> /dev/null
if [ $? = 0 ];
then
echo "--------------------------------------------------------------------------------"
mkdir -p $name.build
cd $name.build
echo "--------------------------------------------------------------------------------"
mkdir -p $name.build
cd $name.build
# выполняем настройку
cmake -DCMAKE_C_COMPILER=$name -DAK_STATIC_LIB=ON -DAK_EXAMPLES=ON -DAK_TESTS=ON ../../libakrypt-0.x
cmake -DCMAKE_C_COMPILER=$name -DAK_STATIC_LIB=ON -DAK_EXAMPLES=ON -DAK_TESTS=ON ../../libakrypt-0.x
# выполняем сборку
make
make
# выполняем тестирование
make test
make test
# выполняем проверку корректности криптографических тестов
./aktool test --crypto
./aktool test --crypto --audit 2 --audit-file stderr
# выполняем запуск тестов в окружении vslgrind
valgrind --version >> /dev/null 2>>/dev/null
if [ $? = 0 ];
then
valgrind ./aktool test --crypto
fi
valgrind --version >> /dev/null 2>>/dev/null
if [ $? = 0 ];
then
valgrind ./aktool test --crypto
fi
# не выполняем очистку созданных каталогов
cd ..
echo "--------------------------------------------------------------------------------"
# выполняем тест скорости криптографических преобразований
echo $name >> speed.log
$name.build/aktool test -n cbc-kuznechik --no-packets --min-length 80 --max-length 128 >> speed.log
fi
cd ..
fi
done
cd ..
......@@ -553,6 +553,8 @@ extern "C" {
dll_export char *ak_ptr_to_base64_alloc( ak_const_pointer , const size_t , const base64_format_t );
/*! \brief Функция преобразует строку символов в формате base64 в двоичные данные. */
dll_export ak_uint8 *ak_base64_to_ptr( const char *, ak_pointer , size_t * );
/*! \brief Функция кодирует три байта информации в формат base64. */
dll_export void ak_base64_encodeblock( ak_uint8 *, ak_uint8 *, int );
/*! \brief Обобщенная реализация функции snprintf для различных компиляторов. */
dll_export int ak_snprintf( char *str, size_t size, const char *format, ... );
......
......@@ -10,13 +10,6 @@
/* ----------------------------------------------------------------------------------------------- */
#include <libakrypt.h>
/* ----------------------------------------------------------------------------------------------- */
/** \addtogroup func Вспомогательные функции
@{ */
/*! \brief Функция кодирует три байта информации в формат base64. */
void ak_base64_encodeblock( ak_uint8 *, ak_uint8 *, int );
/** @} */
/* ----------------------------------------------------------------------------------------------- */
/** \addtogroup skey-doc Cекретные ключи криптографических механизмов
@{ */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment