Skip to content

Latest commit

 

History

History
81 lines (57 loc) · 2.26 KB

File metadata and controls

81 lines (57 loc) · 2.26 KB

libkmip

libkmip is an ISO C11 implementation of the Key Management Interoperability Protocol (KMIP), an OASIS communication standard for the management of objects stored and maintained by key management systems. KMIP defines how key management operations and operation data should be encoded and communicated, between client and server applications. Supported operations include creating, retrieving, and destroying keys. Supported object types include:

  • symmetric and asymmetric encryption keys

For more information on KMIP, check out the OASIS KMIP Technical Committee and the OASIS KMIP Documentation.

For more information on libkmip, check out the project Documentation.

Build

Configure and build with CMake:

cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
cmake --build cmake-build-debug -j

By default, BUILD_KMIP_TESTS is OFF.

Run Demos

Demo binaries are created in cmake-build-debug/libkmip/src/. For example:

./cmake-build-debug/libkmip/src/demo_query

Run Tests

Enable tests at configure time, then run them with CTest:

cmake -S . -B cmake-build-tests -DCMAKE_BUILD_TYPE=Debug -DBUILD_KMIP_TESTS=ON
cmake --build cmake-build-tests -j
ctest --test-dir cmake-build-tests --output-on-failure

BUILD_KMIP_TESTS=ON builds libkmip/src/tests.c into the kmip_tests target and registers it with CTest.

Build with ASAN

AddressSanitizer can be enabled with WITH_ASAN=ON (Clang/GCC):

cmake -S . -B cmake-build-asan -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=ON -DBUILD_KMIP_TESTS=ON
cmake --build cmake-build-asan -j
ctest --test-dir cmake-build-asan --output-on-failure

Installation

Install using CMake:

cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release
cmake --build cmake-build-release -j
cmake --install cmake-build-release

To install to a custom prefix, add -DCMAKE_INSTALL_PREFIX=/your/prefix/path when configuring.

See Installation for more information.