update VxWorks readme

This commit is contained in:
lchristina26 2015-11-09 17:23:25 -07:00
parent 5bcb7e98cb
commit 54c5a3a10c

View File

@ -3,37 +3,49 @@
####1.1 Steps
1. Start by creating a new VxWorks image in Workbench by going to File > New >
Project and then select VxWorks Image Project.
2. Include the path to the wolfSSL header files(wolfssl/wolfssl):
2. Right click on the project and go to Import > Filesystem. Choose the path
to the wolfSSL library here. Uncheck everything except the examples, src and
wolfcrypt directories.
In the wolfcrypt/src folder, uncheck aes\_asm.asm and aes\_asm.s.
3. Include the path to the wolfSSL header files(wolfssl/wolfssl):
Right click the project and go to Properties > Build Properties > Paths.
Choose Browse and select the wolfssl directory. Click ok.
3. Add preprocessor definitions:
4. In wolfssl/wolfssl/wolfcrypt/settings.h, uncomment
#define WOLFSSL_VXWORKS
Note: To use a filesystem with the simulator, the certs folder will need to be
placed in the workspace directory of the Workbench. This is only if you don't
have USE\_CERT\_BUFFERS\_2048.
5. If not using a filesystem, add preprocessor definitions.
Right click on project, go to Properties > Build Properties > Variables.
Highlight EXTRA\_DEFINE. Click Edit and add the following to this line:
-DWOLFSSL\_VXWORKS.
This can also be done in wolfssl/wolfcrypt/settings.h by uncommenting the
#define WOLFSSL_VXWORKS
line.
If there is not a filesystem set up, add -DUSE\_CERT\_BUFFERS\_2048 and
-DNO\_FILESYSTEM to the variables or #define USE\_CERT\_BUFFERS\_2048 and
\#define NO\_FILESYSTEM at the top of settings.h.
If there is a filesystem, paths may need to be changed to the path of
filesystem for certificate files in wolfssl/test.h.
4. Right click on the project and go to Import > Filesystem. Choose the path
to the wolfSSL library here. Uncheck everything except the src and wolfcrypt
directories.
In the wolfcrypt/src folder, uncheck aes\_asm.asm and aes\_asm.s.
5. If NO\_\_DEV\_RANDOM remains defined in wolfssl/wolfcrypt/settings.h under
-DUSE\_CERT\_BUFFERS\_2048 -DNO\_FILESYSTEM
6. If using a filesystem, copy the certs folder in wolfssl to the Wind River
Workbench workspace folder. This is where the simulatory looks for the filesystem.
7. If NO\_\_DEV\_RANDOM remains defined in wolfssl/wolfcrypt/settings.h under
\#ifdef WOLFSSL\_VXWORKS, a new GenerateSeed() function will need to be defined
in wolfcrypt/src/random.c.
####1.2 Testing wolfSSL with VxWorks:
#####1.2.1 wolfCrypt Test Application
#####1.2.1 wolfCrypt Test and Benchmark Applications
The wolfCrypt test application will test each of the cryptographic algorithms
and output the status for each. This should return success for each algorithm
if everything is working.
if everything is working. The benchmark application will output time to run
the cryptographic algorithms in milliseconds.
1. In usrAppInit.c, make a call to the wolfCrypt test application by adding
the following to the usrAppInit() function:
1. Include these header files in usrAppInit.c:
#include <wolfcrypt/test/test.h>
#include <wolfssl/ssl.h>
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/test.h>
2. In usrAppInit.c, make a call to the wolfCrypt test and benchmark applications
by adding the following to the usrAppInit() function:
typedef struct func_args {
int argc;
@ -44,11 +56,8 @@ the following to the usrAppInit() function:
func_args args;
wolfcrypt_test(&args);
2. Include these header files in usrAppInit.c:
#include <wolfcrypt/test/test.h>
#include <wolfssl/ssl.h>
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/test.h>
wolfcrypt_benchmark(&args);
3. Start the simulator and check that all wolfCrypt tests pass. If there is a
certificate file error, adjust the caCert file locations in
wolfcrypt/test/test.c or wolfssl/test.h to those of the filesystem in use.
@ -58,17 +67,22 @@ The wolfSSL example client can be found in wolfssl/examples/client.
1. Add client.c and client.h from the examples/client folder to the Workbench
project.
2. In usrAppInit.c, inlucde the func\_args as described in the Test Application
section, and add a call to the client function:
client_test(&args);
3. Add the client.h header file to the includes at the top of usrAppInit.c.
4. The wolfSSLIP will need to be changed to the IP address the server is
running on. If using the VxWorks Simulator, localhost will not work. NAT should
be selected in the Simulator Connection Advanced setup.
5. Start the example server from within the wolfSSL directory on the host
machine:
./examples/server/server -d -b
The -d option disables peer checks, -b allows for binding to any interface.
6. Start the example client in Workbench.
#####1.2.3 Example Server
@ -77,6 +91,7 @@ VxWorks simulator.
1. Add server.c and server.h from the wolfssl/examples/server folder to the
Workbench project.
2. In usrAppInit.c, inlcude the func\args as described in the Test and Client
applications and add a call to the server function:
@ -87,8 +102,21 @@ applications and add a call to the server function:
server_test(&args);
3. Add the server.h header file to the includes at the top of usrAppInit.c.
4. Start the server by following the directions in Section 2 for setting up
the VxWorks Simulator.
4. Start the server and complete the following:
Go to "Open Connection Details" under VxWorks Simulator which is in the connections
dropdown. Choose the corresponding kernel image, typically called
project/default/VxWorks. Select simnetd from the dropdown and enter
192.168.200.1 as the IP address.
To connect to a server running on the VxWorks Simulator, enter these commands
into the host terminal (for Ubuntu 14.04):
sudo openvpn --mktun --dev tap0
In Wind River directory:
sudo vxworks-7/host/x86-linux2/bin/vxsimnetd
This will start the vxsimnetd application. Leave it open. The IP address to
connect to the server is the same as above.
5. Start the client on the host machine:
./examples/client/client -d
The -d option disables peer checks.
@ -132,19 +160,3 @@ The following files are required to replicate this build:
* This project was tested with a pre-built image in the VxWorks distribution
called vsb\_vxsim\_linux.
###2 VXWORKS SIMULATOR:
######The VxWorks simulator was used for testing the wolfSSL example applications (server, client, benchmark, and test).
######These are the steps to reproduce this testing method.
Go to "Open Connection Details" under VxWorks Simulator which is in the connections
dropdown. Choose the corresponding kernel image, typically called
project/default/VxWorks. Select simnetd from the dropdown and enter
192.168.200.1 as the IP address.
To connect to a server running on the VxWorks Simulator, enter these commands
into the host terminal (for Ubuntu 14.04):
sudo openvpn --mktun --dev tap0
In Wind River directory:
sudo vxworks-7/host/x86-linux2/bin/vxsimnetd
This will start the vxsimnetd application. Leave it open. The IP address to
connect to the server is the same as above.