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