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.
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.
The ACVP Proxy was successfully compiled and executed on the following operating systems:
A public git repository is found at smuellerDD/acvpproxy.
The ACVP Proxy implements the entire network side of the ACVP Protocol Specification. It implements all aspects of the protocol.
The following source code contains the implementation of the ACVP Proxy.
ACVP Proxy was used and subject for first successful ACVP certificate
ACVP Proxy was used for a successful accreditation