ACVP Proxy
The ACVP Proxy allows the retrieving of test vectors from the ACVP servers. In addition, it allows the submission of test results to the ACVP servers and to retrieve the verdict of the test results.
The obtained test vectors stored in the files testvector-request.json
are intended to be transferred to the test system hosting the cryptographic
module to be tested. The JSON file must be inserted into the cryptographic
module to produce the testvector-response.json
file holding the responses
according to the ACVP protocol specification. An example implementation
that parses these JSON files, invokes the cryptographic implementation
and generates the test response files, see the
ACVP Parser.
Runtime-Dependencies
The ACVP Proxy is implemented in clean C99 and requires the presence of
the POSIX API. In addition, the ACVP Proxy requires libcurl to be
present. This library is commonly available to almost all general
purpose operating systems. Other runtime-dependencies are not required. On
Apple operating systems, the ACVP Proxy also supports the NSURL
API.
The ACVP Proxy was successfully compiled and executed on the following operating systems:
-
Linux
-
macOS
-
Windows
GitHub Link
A public git repository is provided at Github.
ACVP Protocol Specification
The ACVP Proxy implements the entire network side of the ACVP Protocol Specification. It implements almost all aspects of the protocol.
Historic Releases
For older releases, see the ACVP Proxy historic page.