1# tenAsys INtime RTOS Port
2
3## Overview
4
5This port is for the tenAsys INtime RTOS available [here](http://www.tenasys.com/intime).
6
7To enable use the define `INTIME_RTOS`.
8
9## Usage
10
11The wolfExamples.sln is a Visual Studio 2015 project. You must have the INtime SDK installed and an INtime RTOS agent running.
12
13The default configuration is set inside the `IDE/INTIME-RTOS/user_settings.h` file.
14
15The example application provides a simple menu interface to select difference application functions to test.
16
17```
18wolfExamples started
19wolfExamples finished initialization
20
21                                MENU
22
23        t. WolfCrypt Test
24        b. WolfCrypt Benchmark
25        c. WolfSSL Client Example
26        s. WolfSSL Server Example
27        l. WolfSSL Localhost Client/Server Example
28Please select one of the above options:
29```
30
31### `t`wolfCrypt Test
32
33Performs testing of all crypto algorithms.
34
35```
36Crypt Test
37error    test passed!
38base64   test passed!
39base64   test passed!
40MD5      test passed!
41SHA      test passed!
42SHA-256  test passed!
43SHA-384  test passed!
44SHA-512  test passed!
45Hash     test passed!
46HMAC-MD5 test passed!
47HMAC-SHA test passed!
48HMAC-SHA256 test passed!
49HMAC-SHA384 test passed!
50HMAC-SHA512 test passed!
51HMAC-KDF    test passed!
52X963-KDF    test passed!
53GMAC     test passed!
54Chacha   test passed!
55POLY1305 test passed!
56ChaCha20-Poly1305 AEAD test passed!
57DES      test passed!
58DES3     test passed!
59AES      test passed!
60AES-GCM  test passed!
61AES-CCM  test passed!
62AES Key Wrap test passed!
63RANDOM   test passed!
64RSA      test passed!
65DH       test passed!
66DSA      test passed!
67SRP      test passed!
68PWDBASED test passed!
69openSSL extra test
70OPENSSL  test passed!
71ECC      test passed!
72ECC Enc  test passed!
73ECC buffer test passed!
74CURVE25519 test passed!
75ED25519  test passed!
76CMAC     test passed!
77PKCS7enveloped test passed!
78PKCS7signed    test passed!
79PKCS7encrypted test passed!
80mutex    test passed!
81memcb    test passed!
82Crypt Test: Return code 0
83```
84
85### `b` wolfCrypt Benchmark
86
87Performs benchmark of crypto algorithms.
88
89```
90Benchmark Test
91RNG      25 kB took 0.002 seconds,   11.017 MB/s
92AES enc  25 kB took 0.002 seconds,   15.090 MB/s
93AES dec  25 kB took 0.002 seconds,   15.119 MB/s
94AES-GCM  25 kB took 0.003 seconds,    9.433 MB/s
95AES-CTR  25 kB took 0.001 seconds,   22.378 MB/s
96AES-CCM  25 kB took 0.002 seconds,   15.306 MB/s
97CHACHA   25 kB took 0.002 seconds,   16.063 MB/s
98CHA-POLY 25 kB took 0.001 seconds,   20.447 MB/s
993DES     25 kB took 0.002 seconds,   10.717 MB/s
100
101MD5      25 kB took  0.00 seconds,   31.576 MB/s
102POLY1305 25 kB took 0.000 seconds,  201.575 MB/s
103SHA      25 kB took  0.00 seconds,   43.761 MB/s
104SHA-256  25 kB took 0.001 seconds,   19.299 MB/s
105SHA-384  25 kB took 0.002 seconds,   14.577 MB/s
106SHA-512  25 kB took 0.001 seconds,   21.718 MB/s
107AES-CMAC 25 kB took  0.00 seconds,   34.925 MB/s
108
109RSA 2048 public           2.445 milliseconds, avg over 1 iterations
110RSA 2048 private         64.711 milliseconds, avg over 1 iterations
111
112RSA 1024 key generation  318.755 milliseconds, avg over 5 iterations
113RSA 2048 key generation  22648.396 milliseconds, avg over 5 iterations
114DH  2048 key generation  23.119 milliseconds, avg over 1 iterations
115DH  2048 key agreement   26.756 milliseconds, avg over 1 iterations
116
117ECC  256 key generation   2.984 milliseconds, avg over 5 iterations
118EC-DHE   key agreement    2.967 milliseconds, avg over 5 iterations
119EC-DSA   sign   time      1.448 milliseconds, avg over 5 iterations
120EC-DSA   verify time      3.304 milliseconds, avg over 5 iterations
121ECC      encrypt          5.860 milliseconds, avg over 1 iterations
122ECC      decrypt          6.360 milliseconds, avg over 1 iterations
123
124CURVE25519 256 key generation  1.416 milliseconds, avg over 5 iterations
125CURVE25519 key agreement       1.332 milliseconds, avg over 5 iterations
126
127ED25519  key generation   0.320 milliseconds, avg over 5 iterations
128ED25519  sign   time      0.595 milliseconds, avg over 5 iterations
129ED25519  verify time      1.310 milliseconds, avg over 5 iterations
130Benchmark Test: Return code 0
131```
132
133### `c` wolfSSL Client
134
135To configure the host address and port modify the `TLS_HOST_REMOTE` and `TLS_PORT` macros at top of `wolfExamples.c`. This example uses TLS 1.2 to connect to a remote host.
136
137### `s` wolfSSL Server
138
139To configure the port to listen on modify `TLS_PORT` at top of `wolfExamples.c`.
140
141### `l` wolfSSL Localhost Server/Client
142
143Starts a TLS server thread listening on localhost. Starts the TLS client and performs connect, exchanges some data and disconnects.
144
145```
146Waiting for a connection...
147Client connected successfully
148Using Non-Blocking I/O: 0
149Message for server:     Client:
150
151Received:       I hear ya fa shizzle!
152
153The client has closed the connection.
154```
155
156## References
157
158For more information please contact info@wolfssl.com.
159