Harness API#
Inspired by fuzzing harnesses, crypto-condor can test implementation wrapped in a shared library.
How to use#
The idea is to create a shared library that interacts with the primitives to test. It
will expose some functions, whose name starts with CC
, that wrap a given operation
of the implementation. Their function signature is established by crypto-condor so that it can
run the functions with the corresponding test vectors.
An example#
How it works#
Internally, the library is first loaded with dlopen
and its symbols examined with
lief. The functions whose name starts with CC
are examined to
see if the full name matches a known pattern for the primitives that support this mode.
Those that match are passed to the corresponding modules, which run them with the test
vectors chosen by the function name.