Quiero crear un dispositivo integrado que pueda comunicarse con un servidor web de manera segura. Preferiría que use SSL estándar para que el servidor web vea mi dispositivo de forma similar a un navegador web.
- ¿Hay alguna biblioteca de prebuit para el lado incrustado para hacer esto?
- ¿Qué pasa con un IC que puede manejar el apretón de manos y el descifrado para mí?
- Si no, ¿cómo lo haría yo mismo?
microcontroller
library
tcp-ip
encryption
Kellenjb
fuente
fuente
Respuestas:
Sugiero la pila TCP Microchip . Microchip ofrece una pila TCP / IP con licencia gratuita optimizada para PIC18, PIC24, dsPIC y PIC32.
La pila TCP / IP de Microchip incluye la función de Capa de sockets seguros (SSL).
Pero no es gratis. Vea abajo:
Para obtener mejores resultados, puede usar ENCx24J600 que tiene un motor de cifrado / descifrado AES incorporado y otros motores de valores.
fuente
Considere estas bibliotecas SSL integradas:
http://www.yassl.com/yaSSL/Products-cyassl.html
http://polarssl.org/
http://www.matrixssl.org/
Y tal vez http://gitorious.org/tropicssl/
Tropicssl y polarssl se originaron en http://www.ohloh.net/p/xyssl
Tropicssl y xyssl tienen licencia BSD, mientras que todos los demás son GPL con una opción para una licencia patentada por $.
fuente
Si el sistema puede ser lo suficientemente complicado como para ejecutar un sistema operativo, hay muchas herramientas y bibliotecas que pueden hacer el trabajo. En un sistema Linux incorporado, puede usar wget con SSL. En cualquier sistema con lenguajes de nivel superior como Python o Ruby, la biblioteca de red ( Python SSL ) admitirá SSL. Si solo tiene acceso a C, puede escribir algo usando la biblioteca OpenSSL .
Si no hay sistema operativo, creo que te espera mucho trabajo. Como mínimo, necesita una pila TCP / IP. Construiría un prototipo con un mbed: hay una publicación en el foro que sugiere que podrían tener una biblioteca SSL por ahora.
fuente
Esto parece ser compatible con AES SSL también: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html
fuente