OpenSSL contains a number of test programs that validate the
correctness of various cryptographic algorithms and test the
functioning of the OpenSSL library. Most of these tests have been
ported directly to eCos with only minor changes to allow them to
function in the eCos test environment. Since all these tests expect
to use STDIO for output, they will only be built if that package is
configured in.
A small number of encryption algorithm tests have been further
adapted to function without needing STDIO. This has mainly involved
replacing (f)printf with
diag_printf, but also includes spawning a
thread to run the test with sufficient stack. These tests are all
named the same as the base OpenSSL test from which they were
derived with the addition of _ecos to the file
name.
The test program ssltest1 is the only purpose
written SSL test program. It is a simple client that attempts to
contact an SSL server and send it some data. The server it contacts
is defined by the configuration options
CYGDAT_OPENSSL_TESTS_SERVER_IP and
CYGDAT_OPENSSL_TESTS_SERVER_PORT which define the
IP address and port number of the server to contact. A suitable
server can be run using the s_server command of
the openssl tool on the host with the configured
IP address. The shell script in misc/runtest
should do this correctly for any Linux host.
The test program openssl1 is a version of the
openssl command line tool that runs a sequence of
predefined commands to test the library as a whole. One of the
commands that this test runs is a timing test against the same
server that ssltest1 uses.