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.
Configure and build with CMake:
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
cmake --build cmake-build-debug -jBy default, BUILD_KMIP_TESTS is OFF.
Demo binaries are created in cmake-build-debug/libkmip/src/.
For example:
./cmake-build-debug/libkmip/src/demo_queryEnable 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-failureBUILD_KMIP_TESTS=ON builds libkmip/src/tests.c into the kmip_tests target
and registers it with CTest.
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-failureInstall using CMake:
cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release
cmake --build cmake-build-release -j
cmake --install cmake-build-releaseTo install to a custom prefix, add
-DCMAKE_INSTALL_PREFIX=/your/prefix/path when configuring.
See Installation for more information.