159 lines
4.7 KiB
Markdown
159 lines
4.7 KiB
Markdown
|
# tenAsys INtime RTOS Port
|
||
|
|
||
|
## Overview
|
||
|
|
||
|
This port is for the tenAsys INtime RTOS available [here](http://www.tenasys.com/intime).
|
||
|
|
||
|
To enable use the define `INTIME_RTOS`.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
The wolfExamples.sln is a Visual Studio 2015 project. You must have the INtime SDK installed and an INtime RTOS agent running.
|
||
|
|
||
|
The default configuration is set inside the `IDE/INTIME-RTOS/user_settings.h` file.
|
||
|
|
||
|
The example application provides a simple menu interface to select difference application functions to test.
|
||
|
|
||
|
```
|
||
|
wolfExamples started
|
||
|
wolfExamples finished initialization
|
||
|
|
||
|
MENU
|
||
|
|
||
|
t. WolfCrypt Test
|
||
|
b. WolfCrypt Benchmark
|
||
|
c. WolfSSL Client Example
|
||
|
s. WolfSSL Server Example
|
||
|
l. WolfSSL Localhost Client/Server Example
|
||
|
Please select one of the above options:
|
||
|
```
|
||
|
|
||
|
### `t`wolfCrypt Test
|
||
|
|
||
|
Performs testing of all crypto algorithms.
|
||
|
|
||
|
```
|
||
|
Crypt Test
|
||
|
error test passed!
|
||
|
base64 test passed!
|
||
|
base64 test passed!
|
||
|
MD5 test passed!
|
||
|
SHA test passed!
|
||
|
SHA-256 test passed!
|
||
|
SHA-384 test passed!
|
||
|
SHA-512 test passed!
|
||
|
Hash test passed!
|
||
|
HMAC-MD5 test passed!
|
||
|
HMAC-SHA test passed!
|
||
|
HMAC-SHA256 test passed!
|
||
|
HMAC-SHA384 test passed!
|
||
|
HMAC-SHA512 test passed!
|
||
|
HMAC-KDF test passed!
|
||
|
X963-KDF test passed!
|
||
|
GMAC test passed!
|
||
|
Chacha test passed!
|
||
|
POLY1305 test passed!
|
||
|
ChaCha20-Poly1305 AEAD test passed!
|
||
|
DES test passed!
|
||
|
DES3 test passed!
|
||
|
AES test passed!
|
||
|
AES-GCM test passed!
|
||
|
AES-CCM test passed!
|
||
|
AES Key Wrap test passed!
|
||
|
RANDOM test passed!
|
||
|
RSA test passed!
|
||
|
DH test passed!
|
||
|
DSA test passed!
|
||
|
SRP test passed!
|
||
|
PWDBASED test passed!
|
||
|
openSSL extra test
|
||
|
OPENSSL test passed!
|
||
|
ECC test passed!
|
||
|
ECC Enc test passed!
|
||
|
ECC buffer test passed!
|
||
|
CURVE25519 test passed!
|
||
|
ED25519 test passed!
|
||
|
CMAC test passed!
|
||
|
PKCS7enveloped test passed!
|
||
|
PKCS7signed test passed!
|
||
|
PKCS7encrypted test passed!
|
||
|
mutex test passed!
|
||
|
memcb test passed!
|
||
|
Crypt Test: Return code 0
|
||
|
```
|
||
|
|
||
|
### `b` wolfCrypt Benchmark
|
||
|
|
||
|
Performs benchmark of crypto algorithms.
|
||
|
|
||
|
```
|
||
|
Benchmark Test
|
||
|
RNG 25 kB took 0.002 seconds, 11.017 MB/s
|
||
|
AES enc 25 kB took 0.002 seconds, 15.090 MB/s
|
||
|
AES dec 25 kB took 0.002 seconds, 15.119 MB/s
|
||
|
AES-GCM 25 kB took 0.003 seconds, 9.433 MB/s
|
||
|
AES-CTR 25 kB took 0.001 seconds, 22.378 MB/s
|
||
|
AES-CCM 25 kB took 0.002 seconds, 15.306 MB/s
|
||
|
CHACHA 25 kB took 0.002 seconds, 16.063 MB/s
|
||
|
CHA-POLY 25 kB took 0.001 seconds, 20.447 MB/s
|
||
|
3DES 25 kB took 0.002 seconds, 10.717 MB/s
|
||
|
|
||
|
MD5 25 kB took 0.00 seconds, 31.576 MB/s
|
||
|
POLY1305 25 kB took 0.000 seconds, 201.575 MB/s
|
||
|
SHA 25 kB took 0.00 seconds, 43.761 MB/s
|
||
|
SHA-256 25 kB took 0.001 seconds, 19.299 MB/s
|
||
|
SHA-384 25 kB took 0.002 seconds, 14.577 MB/s
|
||
|
SHA-512 25 kB took 0.001 seconds, 21.718 MB/s
|
||
|
AES-CMAC 25 kB took 0.00 seconds, 34.925 MB/s
|
||
|
|
||
|
RSA 2048 public 2.445 milliseconds, avg over 1 iterations
|
||
|
RSA 2048 private 64.711 milliseconds, avg over 1 iterations
|
||
|
|
||
|
RSA 1024 key generation 318.755 milliseconds, avg over 5 iterations
|
||
|
RSA 2048 key generation 22648.396 milliseconds, avg over 5 iterations
|
||
|
DH 2048 key generation 23.119 milliseconds, avg over 1 iterations
|
||
|
DH 2048 key agreement 26.756 milliseconds, avg over 1 iterations
|
||
|
|
||
|
ECC 256 key generation 2.984 milliseconds, avg over 5 iterations
|
||
|
EC-DHE key agreement 2.967 milliseconds, avg over 5 iterations
|
||
|
EC-DSA sign time 1.448 milliseconds, avg over 5 iterations
|
||
|
EC-DSA verify time 3.304 milliseconds, avg over 5 iterations
|
||
|
ECC encrypt 5.860 milliseconds, avg over 1 iterations
|
||
|
ECC decrypt 6.360 milliseconds, avg over 1 iterations
|
||
|
|
||
|
CURVE25519 256 key generation 1.416 milliseconds, avg over 5 iterations
|
||
|
CURVE25519 key agreement 1.332 milliseconds, avg over 5 iterations
|
||
|
|
||
|
ED25519 key generation 0.320 milliseconds, avg over 5 iterations
|
||
|
ED25519 sign time 0.595 milliseconds, avg over 5 iterations
|
||
|
ED25519 verify time 1.310 milliseconds, avg over 5 iterations
|
||
|
Benchmark Test: Return code 0
|
||
|
```
|
||
|
|
||
|
### `c` wolfSSL Client
|
||
|
|
||
|
To 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.
|
||
|
|
||
|
### `s` wolfSSL Server
|
||
|
|
||
|
To configure the port to listen on modify `TLS_PORT` at top of `wolfExamples.c`.
|
||
|
|
||
|
### `l` wolfSSL Localhost Server/Client
|
||
|
|
||
|
Starts a TLS server thread listening on localhost. Starts the TLS client and performs connect, exchanges some data and disconnects.
|
||
|
|
||
|
```
|
||
|
Waiting for a connection...
|
||
|
Client connected successfully
|
||
|
Using Non-Blocking I/O: 0
|
||
|
Message for server: Client:
|
||
|
|
||
|
Received: I hear ya fa shizzle!
|
||
|
|
||
|
The client has closed the connection.
|
||
|
```
|
||
|
|
||
|
## References
|
||
|
|
||
|
For more information please contact info@wolfssl.com.
|