Comments (7)
I created a file inet/ssl.h with a few functions to initialize, read and write data over SSL/TLS.
The Python SSL module looks nice at a glance, with the client example client-side and server example server-side.
I don't have any experiance using SSL/TLS libraries. Seems like mbedTLS is popular. What alternatives are free and open source? Feel free to make changes to inet/ssl.h and add more files for SSL.
I guess the ssl instance should be a channel, since SSL is a data transport protocol (with some security on top).
from simba.
Added basic client and server examples in a test suite to better understand how to use the SSL module interface.
Note that the TCP socket must be connected to the remote peer before wrapping it in an SSL socket. That is, the SSL socket will not know if it transfers data on a TCP socket. It could be any channel.
from simba.
The plan is to design the interface close to the Python ssl module interface.
from simba.
https://github.com/espressif/esp8266-rtos-sample-code/tree/master/04Protocal/SSL_Demo
esp8266 rtos ssl demo project
from simba.
I can successfully send and receive data between an SSL server side socket on an ESP32 and my PC! Needs tuning of memory usage and, most importantly, a valid entropy source implementation to ensure(?) secure communication.
See the example for usage.
from simba.
The first version is pushed and released. Let me know if there are issues or features that are missing. Only server side is implemented.
from simba.
Both client and server side has been implemented and seems to work. Ther eare still functionality missing that should be added to make the security better, like verify the hostnames.
from simba.
Related Issues (20)
- Missing serial port configuration parameters for shell example HOT 2
- Use external interrupts with esp01 HOT 5
- Upgrade support for esp family HOT 3
- std_read() HOT 3
- Reduce Memory Usage HOT 2
- SoftwareSerial RS485 Arduino.h to Simba.h HOT 3
- STM32F103C8T6 Support
- Not all ports have nvm_port_vwrite HOT 1
- Fuzzy testing brainstorming
- New user, unable to compile blink in Arduino ESP12E
- Pro Micro blink example not working HOT 2
- Uploading SPIFFS to ESP8266 HOT 1
- Unable to build with DHT from PlatformIO HOT 2
- Is there missing struct initialization? (http_websocket_client_connect) HOT 2
- Timer timeouts in threads are broken. HOT 2
- Vendor link on platformio broken HOT 1
- Request: Comparison Chart HOT 1
- nanoatmega328new board should be mapped to arduino nano HOT 1
- PIN_INPUT_PULL_UP has been deleted HOT 5
- Question about pure MCU work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simba.