RECENT BLOG NEWS
New Cipher Suite, ECDHE-ECDSA-AES128-CCM
In the interest of supporting the lightweight cipher suites used in the IoT, wolfSSL has added ECDHE-ECDSA-AES128-CCM. This is an AEAD cipher suite with the perfect forward secrecy that ECDHE provides, using AES128 counter mode to encrypt the data and provide the 16-byte MAC. If there are any new ciphers or cipher suites you would be interested in having support for in the wolfSSL embedded SSL/TLS library, let wolfSSL know at facts@wolfssl.com.
wolfMQTT v0.8 (06/13/16)
We’ve added an Azure IoT Hub example to wolfMQTT in the v0.8 release. For this example we setup an Azure cloud server to demonstrate the IoT Hub. This example demonstrates how to connect/authenticate (creation of a SasToken), how to publish events and how to listening for device bound messages.
Release Notes:
* Fixed stdin capture bug and improved signal (ctrl+c) handling.
* Added Azure IoT hub MQTT client example.
* Added support for MQX / RTCS.
* Added “–disable-tls” and “–disable-examples” configure options.
* Added comment about max packet size.
* Added example for how to load a client certificate to mqttclient example.
* Added return code for firmware and azure examples that are not compiled in due to older / incompatible version of wolfSSL.
* Moved the support for custom printf/line endings into the mqtt_types.h for use throughout the project.
* Updated README.md with information about the examples.
If you have any questions about wolfMQTT or the wolfSSL embedded SSL/TLS library, contact us at facts@wolfssl.com
Using wolfSSL from the Swift Programming Language
The Apple Worldwide Developers Conference (WWDC) is currently underway in San Francisco, CA this week. One of the conference topics, also mentioned in the Keynote, is the Swift programming language.
Swift, introduced roughly two years ago, is a programming language for macOS, iOS, watchOS, and tvOS that is gaining popularity with developers. This year at WWDC, several announcements were made including the introduction of the Swift Playgrounds app for iPad.
We would like to ask our user base if there is any interest in a Swift wrapper for the wolfSSL embedded SSL/TLS library. wolfSSL currently has language wrappers for Java, C#, and Python, and is generally portable across devices and operating systems. Are you interested in using wolfSSL from Swift? If so, let us know at facts@wolfssl.com!
wolfSSL with PikeOS and ElinOS
We were recently reading about PikeOS and ElinOS, embedded operating systems from SYSGO AG and were curious if any wolfSSL users are interested in the wolfSSL embedded SSL/TLS library and wolfCrypt cryptography libraries running on these operating systems. If you aren’t familiar with these operating systems, here’s a quick summary via Wikipedia:
“PikeOS is a microkernel-based real-time operating system made by SYSGO AG. It is targeted at safety and security critical embedded systems. It provides a partitioned environment for multiple operating systems with different design goals, safety requirements, or security requirements to coexist in a single machine.”
“ELinOS is a commercial development environment for embedded Linux. It consists of a Linux distribution for the target embedded system and development tools for a development host computer. ELinOS provides embedded Linux as a standalone operating system or it can be integrated into the PikeOS virtualization platform if safety and security demands cannot be met by Linux alone.”
If you are interested in seeing support in wolfSSL for these OS’s, let us know at facts@wolfssl.com!
Python Wrapper for wolfCrypt
We are pleased to inform that wolfCrypt has a new wrapper!
The wolfCrypt Python Wrapper allows use of the wolfCrypt embedded crypto library in a Python project. This will let users take advantage of the low footprint size of wolfCrypt in IoT projects that use the Python language.
Check out the wolfCrypt Documentation (https://wolfssl.github.io/wolfcrypt-py) and try it out.
For more info about using wolfCrypt with Python, or the wolfSSL embedded SSL/TLS library, contact us at facts@wolfssl.com.
wolfSSL + embOS
wolfSSL has added support for embOS in the wolfCrypt embedded cryptography library. We have example projects in the “
The examples will be available in the next stable release of the wolfSSL embedded SSL/TLS library and are currently available in the wolfSSL development branch at: https://github.com/wolfssl/wolfssl
There is a README_custom_port that will assist in creating a project that targets a different MPU as well. As always we are more than willing to help anyone get setup and going so please feel free to contact us support@wolfssl.com if you ever have any questions!
wolfSSL Patch for MYSQL 5.6.30
When using wolfSSL with MYSQL the portability and robustness refined in the IoT realm meets databases. The patch has been updated to MYSQL version 5.6.30 and allows for easy replacement of the bundled TLS/SSL library to a recent version of wolfSSL. Using the patch leverages the progressive, lightweight wolfSSL embedded SSL/TLS library when securing database connections. The patch, along with instructions on how to apply it, can be found on github at this repository https://github.com/wolfSSL/mysql-patch.
For more information contact wolfSSL at facts@wolfssl.com
Whitewood Quantum RNG Support in wolfSSL
Are you interested in seeding wolfSSL with quantum entropy? wolfSSL has recently partnered with Whitewood Encryption Systems to bring support for the Whitewood netRandom client library to wolfSSL.
Whitewood netRandom is a client/server solution for delivery true random numbers. The netRandom server includes the Whitewood Entropy Engine – a hardware-based high-performance, quantum random number generator. A netRandom client securely connects to this server to retrieve quantum entropy. This is beneficial in environments where it is tough or impossible to locally generate good random numbers. Since the security of a cryptosystem is dependent on true random numbers, this is very important for users of wolfSSL and wolfCrypt.
When wolfSSL is compiled with support for the netRandom client library API, wolfSSL’s PRNG will be seeded with quantum random numbers from the netRandom server. Users can compile wolfSSL with netRandom support by using the following ./configure option or by defining HAVE_WNR when compiling wolfSSL:
–with-wnr=PATH Path to Whitewood netRandom install (default /usr/local)
netRandom support adds the following two functions to the wolfSSL API, through the
int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout);
int wc_FreeNetRandom(void);
An application should call wc_InitNetRandom() once during startup, passing it the netRandom configuration file, optional HMAC callback, and entropy timeout. wc_FreeNetRandom() should be called upon application shutdown to free the netRandom context.
Usage examples can be found in the wolfSSL example applications, located in under the “./examples” directory of the wolfSSL download. netRandom support is currently available in the development branch of wolfSSL and will be incorporated into the next stable release as well.
For more information about using the wolfSSL embedded SSL/TLS library with the Whitewood netRandom client library, contact us at facts@wolfssl.com.
References:
Whitewood Encryption Systems
Whitewood netRandom
wolfSSL unaffected by May 3rd, 2016 OpenSSL high severity security fixes
OpenSSL released a security advisory on May 3rd 2016: https://www.openssl.org/news/secadv/20160503.txt. Some wolfSSL embedded TLS users are probably wondering if similar security fixes are needed in wolfSSL. The answer to that is no. Specifically, CVE-2016-2107 and CVE-2016-2108 are OpenSSL implementation bugs. Since wolfSSL and CyaSSL embedded SSL libraries have a completely different code base from OpenSSL we do not share these defects.
Please contact wolfSSL by email at facts@wolfssl.com, or call us at 425 245 8247 if you have any security related questions.
Securing uTasker with wolfSSL
wolfSSL is happy to announce that the wolfSSL embedded SSL/TLS and wolfCrypt cryptography libraries have been ported to the uTasker operating system!
uTasker is an operating system, stack, and collection of services designed for embedded devices. It includes an OS, filesystem, device drivers, and TCP/IP stack among other features. The uTasker package includes a device simulator, allowing developers to test and debug code faster than would be possible on physical hardware itself. Complete details on the uTasker stack can be found on the project website: http://www.utasker.com/.
wolfSSL has added a new preprocessor define to enable the uTasker port layer called WOLFSSL_UTASKER. The port currently includes example client and server uTasker tasks which make use of the wolfSSL I/O abstraction layer to send and receive data over a secure SSL/TLS connection using uTasker RAW sockets. The example tasks have been tested using the uTasker device simulator contained in the “uTasker_M522XX_V1.4-6” distribution.
What this means for projects using uTasker is that network connections can now communicate securely over SSL/TLS, using the progressive and lightweight wolfSSL SSL/TLS library. Applications can also take advantage of the underlying wolfCrypt cryptography library to access crypto operations directly (block ciphers, stream ciphers, AEAD ciphers, hash functions, public key algorithms, and certificate verification routines).
The wolfSSL uTasker example client and server task are located in the ‘wolfssl-examples’ GitHub repository, linked below. Documentation for these examples and on using wolfSSL with uTasker can be found on the wolfSSL website:
Using wolfSSL with uTasker
wolfSSL uTasker Examples
If you are interested in using wolfSSL on a uTasker-based project, feel free to reach out to us at facts@wolfssl.com with any questions.
Weekly updates
Archives
- November 2024 (26)
- October 2024 (18)
- September 2024 (21)
- August 2024 (24)
- July 2024 (27)
- June 2024 (22)
- May 2024 (28)
- April 2024 (29)
- March 2024 (21)
- February 2024 (18)
- January 2024 (21)
- December 2023 (20)
- November 2023 (20)
- October 2023 (23)
- September 2023 (17)
- August 2023 (25)
- July 2023 (39)
- June 2023 (13)
- May 2023 (11)
- April 2023 (6)
- March 2023 (23)
- February 2023 (7)
- January 2023 (7)
- December 2022 (15)
- November 2022 (11)
- October 2022 (8)
- September 2022 (7)
- August 2022 (12)
- July 2022 (7)
- June 2022 (14)
- May 2022 (10)
- April 2022 (11)
- March 2022 (12)
- February 2022 (22)
- January 2022 (12)
- December 2021 (13)
- November 2021 (27)
- October 2021 (11)
- September 2021 (14)
- August 2021 (10)
- July 2021 (16)
- June 2021 (13)
- May 2021 (9)
- April 2021 (13)
- March 2021 (24)
- February 2021 (22)
- January 2021 (18)
- December 2020 (19)
- November 2020 (11)
- October 2020 (3)
- September 2020 (20)
- August 2020 (11)
- July 2020 (7)
- June 2020 (14)
- May 2020 (13)
- April 2020 (14)
- March 2020 (4)
- February 2020 (21)
- January 2020 (18)
- December 2019 (7)
- November 2019 (16)
- October 2019 (14)
- September 2019 (18)
- August 2019 (16)
- July 2019 (8)
- June 2019 (9)
- May 2019 (28)
- April 2019 (27)
- March 2019 (15)
- February 2019 (10)
- January 2019 (16)
- December 2018 (24)
- November 2018 (9)
- October 2018 (15)
- September 2018 (15)
- August 2018 (5)
- July 2018 (15)
- June 2018 (29)
- May 2018 (12)
- April 2018 (6)
- March 2018 (18)
- February 2018 (6)
- January 2018 (11)
- December 2017 (5)
- November 2017 (12)
- October 2017 (5)
- September 2017 (7)
- August 2017 (6)
- July 2017 (11)
- June 2017 (7)
- May 2017 (9)
- April 2017 (5)
- March 2017 (6)
- January 2017 (8)
- December 2016 (2)
- November 2016 (1)
- October 2016 (15)
- September 2016 (6)
- August 2016 (5)
- July 2016 (4)
- June 2016 (9)
- May 2016 (4)
- April 2016 (4)
- March 2016 (4)
- February 2016 (9)
- January 2016 (6)
- December 2015 (4)
- November 2015 (6)
- October 2015 (5)
- September 2015 (5)
- August 2015 (8)
- July 2015 (7)
- June 2015 (9)
- May 2015 (1)
- April 2015 (4)
- March 2015 (12)
- January 2015 (4)
- December 2014 (6)
- November 2014 (3)
- October 2014 (1)
- September 2014 (11)
- August 2014 (5)
- July 2014 (9)
- June 2014 (10)
- May 2014 (5)
- April 2014 (9)
- February 2014 (3)
- January 2014 (5)
- December 2013 (7)
- November 2013 (4)
- October 2013 (7)
- September 2013 (3)
- August 2013 (9)
- July 2013 (7)
- June 2013 (4)
- May 2013 (7)
- April 2013 (4)
- March 2013 (2)
- February 2013 (3)
- January 2013 (8)
- December 2012 (12)
- November 2012 (5)
- October 2012 (7)
- September 2012 (3)
- August 2012 (6)
- July 2012 (4)
- June 2012 (3)
- May 2012 (4)
- April 2012 (6)
- March 2012 (2)
- February 2012 (5)
- January 2012 (7)
- December 2011 (5)
- November 2011 (7)
- October 2011 (5)
- September 2011 (6)
- August 2011 (5)
- July 2011 (2)
- June 2011 (7)
- May 2011 (11)
- April 2011 (4)
- March 2011 (12)
- February 2011 (7)
- January 2011 (11)
- December 2010 (17)
- November 2010 (12)
- October 2010 (11)
- September 2010 (9)
- August 2010 (20)
- July 2010 (12)
- June 2010 (7)
- May 2010 (1)
- January 2010 (2)
- November 2009 (2)
- October 2009 (1)
- September 2009 (1)
- May 2009 (1)
- February 2009 (1)
- January 2009 (1)
- December 2008 (1)