@@ -16,29 +16,56 @@ running these examples.
1616## Installing Example Applications
1717
1818These instructions assume that the SE050 middleware has already been installed
19- in Raspbian and is located at ` /home/pi/se_mw/simw-top ` .
19+ in Raspbian and is located at ` /home/pi/se_mw/simw-top ` . Also that wolfSSL has
20+ been built and installed. See instructions in the wolfSSL repository at
21+ ` wolfcrypt/src/port/nxp/README_SE050.md ` .
2022
21- Before building these demo, the "wolfssl" folder which contains these demos
22- should be copied into the SE05x middleware source tree at:
23+ Example SE050 Pi installation steps:
2324
25+ ``` sh
26+ $ cd se_mw/simw-top
27+ $ mkdir build && cd build
28+ $ ccmake .
29+ # Make sure the following are set:
30+ # `Host OS` to `Raspbian`
31+ # `Host Crypto` to `None` (see HostCrypto section below)
32+ # `SMCOM` to `T1oI2C`
33+ $ c # to configure
34+ $ g # to generate
35+ $ q
36+ $ cmake --build .
37+ $ sudo make install
2438```
25- /home/pi/se_mw/simw-top/demos/wolfssl
39+
40+ Example wolfSSL installation:
41+
2642```
43+ ./configure --with-se050=/home/pi/se_mw/simw-top/ --enable-keygen --enable-cryptocb \
44+ --disable-examples --disable-crypttests
45+ make
46+ sudo make install
47+ ```
48+
49+ Before building these demos, the "wolfssl" folder which contains these demos
50+ should be copied into the SE05x middleware source tree at: ` ~/se_mw/simw-top/demos/wolfssl ` .
51+ Example: ` cp -r wolfssl ~/se_mw/simw-top/demos/ `
2752
2853This will mean the wolfSSL demo applications will be at:
2954
3055```
31- /home/pi/se_mw/simw-top/demos/wolfssl/wolfcrypt_benchmark
32- /home/pi/se_mw/simw-top/demos/wolfssl/wolfcrypt_generate_csr
33- /home/pi/se_mw/simw-top/demos/wolfssl/wolfcrypt_key_cert_insert
34- /home/pi/se_mw/simw-top/demos/wolfssl/wolfcrypt_test
56+ ~/se_mw/simw-top/demos/wolfssl/wolfcrypt_benchmark
57+ ~/se_mw/simw-top/demos/wolfssl/wolfcrypt_generate_csr
58+ ~/se_mw/simw-top/demos/wolfssl/wolfcrypt_key_cert_insert
59+ ~/se_mw/simw-top/demos/wolfssl/wolfcrypt_test
60+ ~/se_mw/simw-top/demos/wolfssl/wolfssl_client
61+ ~/se_mw/simw-top/demos/wolfssl/wolfssl_client_cert_key
3562```
3663
3764The 'wolfssl' demo directory needs to be tied into the CMake build system. Open
3865the following file:
3966
4067```
41- /home/pi /se_mw/simw-top/demos/CMakeLists.txt
68+ ~ /se_mw/simw-top/demos/CMakeLists.txt
4269```
4370
4471Add the following at the bottom of this file:
@@ -50,9 +77,9 @@ ADD_SUBDIRECTORY(wolfssl)
5077If the SE05x middleware has not yet been set up for compilation:
5178
5279```
53- $ cd /home/pi /se_mw/simw-top/scripts
54- $ ./create_cmake_projects.py rpi
55- $ cd /home/pi /se_mw/simw-top_build/raspbian_native_se050_t1oi2c
80+ $ cd ~ /se_mw/simw-top/scripts
81+ $ python ./create_cmake_projects.py rpi
82+ $ cd ~ /se_mw/simw-top_build/raspbian_native_se050_t1oi2c
5683$ ccmake .
5784< adjust options to match SE050 dev kit >
5885< 'c', to configure >
@@ -68,6 +95,13 @@ included here need benchmark.c, benchmark.h, test.c, and test.h copied over
6895from a valid wolfSSL source tree. See notes in those example README.md files
6996for more information.
7097
98+ ```
99+ cp ~/wolfssl/wolfcrypt/benchmark/benchmark.c ./wolfssl/wolfcrypt_benchmark/
100+ cp ~/wolfssl/wolfcrypt/benchmark/benchmark.h ./wolfssl/wolfcrypt_benchmark/
101+ cp ~/wolfssl/wolfcrypt/test/test.c ./wolfssl/wolfcrypt_test/
102+ cp ~/wolfssl/wolfcrypt/test/test.h ./wolfssl/wolfcrypt_test/
103+ ```
104+
71105## NXP SE050 EdgeLock Configuration
72106
73107wolfSSL most recently tested these examples on a Raspberry Pi with NXP
@@ -105,6 +139,22 @@ generated and stored in the SE050. This examples requires that wolfSSL be
105139compiled with ` --enable-certgen --enable-certreq ` . For details, see
106140[ README.md] ( ./wolfssl/wolfcrypt_generate_csr/README.md ) .
107141
142+ ### wolfSSL SSL/TLS Client Example
143+
144+ This example demonstrates a simple SSL/TLS client, using hardware-based
145+ cryptography supported inside the SE050. It loads and uses a certificate
146+ and private key from C arrays/buffers. For a more advanced demo which uses
147+ the private key directly from the SE050, see the following example. For details,
148+ see [ README.md] ( ./wolfssl/wolfssl_client/README.md ) .
149+
150+ ### wolfSSL SSL/TLS Client Example with Cert and Private Key in SE050
151+
152+ This example demonstrates a simple SSL/TLS client, using hardware-based
153+ cryptography supported inside the SE050. It loads and uses a certificate
154+ and private key from C arrays/buffers into the SE050, then does all private key
155+ operations inside the SE050 for the TLS private key, based on a key ID.
156+ For details, see [ README.md] ( ./wolfssl/wolfssl_client_cert_key/README.md ) .
157+
108158## Support
109159
110160For support questions and issues, please email wolfSSL at support@wolfssl.com .
0 commit comments