I have an embedded application that sends a simple, unsecured email on port 25 (or other user specified unsecured port).  Really simple emails like 'Lights ON', 'Door Open' or 'Gate Closed'.  Ones that really don't need to be secure.  I wrote my own custom stack and packet TX/RX system to keep the footprint very small and I use Keil as my compiler. 

I need to port/enhance this code to use SSL/TLS, so that ports like 587 can be used.  Some customer's email servers are no longer allowing unsecured ports like 25.

So, is there a way to customize WolfSSL to:

1.  Use ports 587 or similar, but have minimal security/encryption.
2.  I don't need to validate certificates or even need them at all.  I just need to send these same emails using secure ports.
3.  Can I use my existing stack and just use WolfSSL functionality that I need to achieve minimal security/encryption?
4.  I'm not using a RTOS.  It's an ARM.

I understand that there may be a minimal amount of encryption that must be used for this.  But, I'm not sure what would
that would be.  Any advice would be extremely helpful.

Sutton

Kaleb,

What directive do I need to include to get rid of the "unistd.h" not found error message?  This is also a file not found in the WolfSSL folders.

I have my own TCP stack, so is there a simple set of directives that I should include in my user_settings.h file for my application?  It seems there are a lot of directives, but some are not included on your documentation page.  So, it's not easy to figure out which ones are needed or not.  There doesn't seem to be a lot of modularity to the library.  To compile even with using only one function tends to have to include virtually every .c and .h file, because the code is so intertwined.   It would be really nice to have a way to use only certain functionality without having to import the entire code space.

Also, is there a simple SMTP client test function?  I couldn't find one.  It would be nice to test to see how that is implemented in your code.  Other vendors have test functions that do that.  Which is what my application needs.

Sutton

I got this error resolved, but now compiler looking for 'dirent'h'.   Which directives do I need to incorporate just ParseCert() as a function test into my own code?  The only one I have defined is SINGLE_THREADED right now.

I am compiling the WolfSSL code into my current project to see how a few functions perform.  I'm getting a few compile errors.

Where is <pthread.h>?  It's not in the WolfSSL folders or in my Windows folders.  Reference is in wc_port.h.

Sutton

Apparently, this is a very seldom used Client Hello extension, as I haven't found any packet examples using this extension.  I've seen code using an enum of 1,2,3,4 and also using 512,1024,2048, and 4096.  But, I haven't figured out which value is actually sent out to the server.  So, if I want a max of 1024, do you send out a 2 or 1024 (0x0400)?

Sutton