forked from wolfSSL/wolfssl
Update README.md
This commit is contained in:
@ -2,30 +2,26 @@
|
|||||||
###1 SETUP:
|
###1 SETUP:
|
||||||
####1.1 Steps
|
####1.1 Steps
|
||||||
1. Start by creating a new VxWorks image in Workbench by going to File > New >
|
1. Start by creating a new VxWorks image in Workbench by going to File > New >
|
||||||
Project and then select VxWorks Image Project.
|
Project and then selecting VxWorks Image Project.
|
||||||
|
|
||||||
2. Right click on the project and go to Import > Filesystem. Choose the path
|
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
|
to the wolfSSL library here. Uncheck everything except the examples, src and
|
||||||
wolfcrypt directories.
|
wolfcrypt directories.
|
||||||
In the wolfcrypt/src folder, uncheck aes\_asm.asm and aes\_asm.s.
|
In the wolfcrypt/src folder, uncheck aes\_asm.asm and aes\_asm.s.
|
||||||
|
|
||||||
3. Include the path to the wolfSSL header files(wolfssl/wolfssl):
|
3. Include the path to the wolfSSL header files, wolfssl/wolfssl:
|
||||||
Right click the project and go to Properties > Build Properties > Paths.
|
To do this, right click the project and go to Properties > Build Properties > Paths.
|
||||||
Choose Browse and select the wolfssl directory. Click ok.
|
Choose Browse and select the wolfssl directory. Click ok.
|
||||||
|
|
||||||
4. In wolfssl/wolfssl/wolfcrypt/settings.h, uncomment
|
4. In wolfssl/wolfssl/wolfcrypt/settings.h, uncomment #define WOLFSSL_VXWORKS
|
||||||
#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.
|
5. If not using a filesystem, right click on project, go to Properties >
|
||||||
Right click on project, go to Properties > Build Properties > Variables.
|
Build Properties > Variables.
|
||||||
Highlight EXTRA\_DEFINE. Click Edit and add the following to this line:
|
Highlight EXTRA\_DEFINE. Click Edit and add the following to this line:
|
||||||
-DUSE\_CERT\_BUFFERS\_2048 -DNO\_FILESYSTEM
|
-DUSE\_CERT\_BUFFERS\_2048 -DNO\_FILESYSTEM
|
||||||
|
|
||||||
6. If using a filesystem, copy the certs folder in wolfssl to the Wind River
|
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.
|
Workbench workspace folder. This is where the simulator looks for the filesystem.
|
||||||
|
|
||||||
7. If NO\_\_DEV\_RANDOM remains defined in wolfssl/wolfcrypt/settings.h under
|
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
|
\#ifdef WOLFSSL\_VXWORKS, a new GenerateSeed() function will need to be defined
|
||||||
@ -34,8 +30,7 @@ in wolfcrypt/src/random.c.
|
|||||||
####1.2 Testing wolfSSL with VxWorks:
|
####1.2 Testing wolfSSL with VxWorks:
|
||||||
#####1.2.1 wolfCrypt Test and Benchmark Applications
|
#####1.2.1 wolfCrypt Test and Benchmark Applications
|
||||||
The wolfCrypt test application will test each of the cryptographic algorithms
|
The wolfCrypt test application will test each of the cryptographic algorithms
|
||||||
and output the status for each. This should return success for each algorithm
|
and output the status for each as a success or failure. The benchmark application will output the runtime of
|
||||||
if everything is working. The benchmark application will output time to run
|
|
||||||
the cryptographic algorithms in milliseconds.
|
the cryptographic algorithms in milliseconds.
|
||||||
|
|
||||||
1. Include these header files in usrAppInit.c:
|
1. Include these header files in usrAppInit.c:
|
||||||
@ -58,42 +53,33 @@ by adding the following to the usrAppInit() function:
|
|||||||
wolfcrypt_test(&args);
|
wolfcrypt_test(&args);
|
||||||
wolfcrypt_benchmark(&args);
|
wolfcrypt_benchmark(&args);
|
||||||
|
|
||||||
3. Start the simulator and check that all wolfCrypt tests pass. If there is a
|
3. Start the simulator and check that all wolfCrypt tests pass.
|
||||||
certificate file error, adjust the caCert file locations in
|
|
||||||
wolfcrypt/test/test.c or wolfssl/test.h to those of the filesystem in use.
|
|
||||||
|
|
||||||
#####1.2.2 Example Client
|
#####1.2.2 Example Client
|
||||||
The wolfSSL example client can be found in wolfssl/examples/client.
|
The wolfSSL example client.c file can be found in wolfssl/examples/client.
|
||||||
|
|
||||||
1. Add client.c and client.h from the examples/client folder to the Workbench
|
1. In usrAppInit.c, inlucde the func\_args as described in the Test Application
|
||||||
project.
|
|
||||||
|
|
||||||
2. In usrAppInit.c, inlucde the func\_args as described in the Test Application
|
|
||||||
section, and add a call to the client function:
|
section, and add a call to the client function:
|
||||||
client_test(&args);
|
client_test(&args);
|
||||||
|
|
||||||
3. Add the client.h header file to the includes at the top of usrAppInit.c.
|
2. Add the /examples/client/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
|
3. The wolfSSLIP will need to be changed to the IP address to connect to. If using the VxWorks Simulator, localhost will not work. NAT should be selected in the Simulator Connection Advanced setup. To do this, click the dropdown button next to VxWorks Simulator at the top of Workbench and select Open Connection Details. Make sure the correct image file is selected for you project: <Project\_Dir>/default/VxWorks. Then click Advanced and select NAT as the Network Config. Click OK and Apply.
|
||||||
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
|
4. If using the example server from within the wolfSSL directory on the host
|
||||||
machine:
|
machine to connect the client to, configure and make wolfSSL and then run:
|
||||||
./examples/server/server -d -b
|
./examples/server/server -d -b
|
||||||
The -d option disables peer checks, -b allows for binding to any interface.
|
The -d option disables peer checks, -b allows for binding to any interface.
|
||||||
|
|
||||||
6. Start the example client in Workbench.
|
5. Start the example client in Workbench.
|
||||||
|
|
||||||
#####1.2.3 Example Server
|
#####1.2.3 Example Server
|
||||||
The example server requires more configuration than the client if using the
|
The example server requires more configuration than the client if using the
|
||||||
VxWorks simulator.
|
VxWorks simulator.
|
||||||
|
|
||||||
1. Add server.c and server.h from the wolfssl/examples/server folder to the
|
1. Add the server.h header file to the includes at the top of usrAppInit.c.
|
||||||
Workbench project.
|
|
||||||
|
|
||||||
2. In usrAppInit.c, inlcude the func\args as described in the Test and Client
|
2. In usrAppInit.c, add:
|
||||||
applications and add a call to the server function:
|
|
||||||
|
|
||||||
func_args args = { 0 };
|
func_args args = { 0 };
|
||||||
tcp_ready ready;
|
tcp_ready ready;
|
||||||
@ -101,28 +87,23 @@ applications and add a call to the server function:
|
|||||||
args.signal = &ready;
|
args.signal = &ready;
|
||||||
server_test(&args);
|
server_test(&args);
|
||||||
|
|
||||||
3. Add the server.h header file to the includes at the top of usrAppInit.c.
|
3. Start the server and complete the following:
|
||||||
|
|
||||||
4. Start the server and complete the following:
|
|
||||||
Go to "Open Connection Details" under VxWorks Simulator which is in the connections
|
Go to "Open Connection Details" under VxWorks Simulator which is in the connections
|
||||||
dropdown. Choose the corresponding kernel image, typically called
|
dropdown. Choose the corresponding kernel image, typically called
|
||||||
project/default/VxWorks. Select simnetd from the dropdown and enter
|
project/default/VxWorks. Select simnetd from the dropdown and enter
|
||||||
192.168.200.1 as the IP address.
|
192.168.200.1 as the IP address.
|
||||||
|
|
||||||
To connect to a server running on the VxWorks Simulator, enter these commands
|
To connect to the server running on the VxWorks Simulator, enter these commands
|
||||||
into the host terminal (for Ubuntu 14.04):
|
into the host terminal any directory (for Ubuntu 14.04):
|
||||||
sudo openvpn --mktun --dev tap0
|
sudo openvpn --mktun --dev tap0
|
||||||
In Wind River directory:
|
In Wind River directory:
|
||||||
sudo vxworks-7/host/x86-linux2/bin/vxsimnetd
|
sudo vxworks-7/host/x86-linux2/bin/vxsimnetd
|
||||||
This will start the vxsimnetd application. Leave it open. The IP address to
|
This will start the vxsimnetd application. Leave it open. The IP address to
|
||||||
connect to the server is the same as above.
|
connect to the server is the same as above.
|
||||||
|
|
||||||
5. Start the client on the host machine:
|
4. Start the client on the host machine:
|
||||||
./examples/client/client -d
|
./examples/client/client -d
|
||||||
The -d option disables peer checks.
|
The -d option disables peer checks.
|
||||||
Note: If there are certificate file errors, the file paths in wolfssl/test.h
|
|
||||||
will need to be adjusted to follow the paths located on the filesystem used
|
|
||||||
by the VxWorks project.
|
|
||||||
|
|
||||||
####1.3 Necessary Files
|
####1.3 Necessary Files
|
||||||
The following files are required to replicate this build:
|
The following files are required to replicate this build:
|
||||||
|
Reference in New Issue
Block a user