wolfSSH SFTP on Windows

wolfSSH has added in enhancements to our SFTP implementation for use on Windows systems. The embedded SSH library can now be used with the default Windows file system. SFTP is a protocol that runs on top of SSH that enables securely accessing, browsing and managing files. The leading edge of wolfSSH code and development can be found on the GitHub repository here https://github.com/wolfSSL/wolfssh, and the latest stable release can be downloaded from the wolfSSL website here https://www.wolfssl.com/download/.

For more information about using wolfSSH contact info@wolfssl.com.

wolfSSL 24×7 support

wolfSSL provides support on four levels, one of which is the 24x7 support level. This support level includes many key features not available on the others, such as an unlimited number of support incidents, around-the-clock support from dedicated members of the wolfSSL support team, and remains in effect for an entire year.

wolfSSL provides three other levels of paid support, which also include some of the same features provided by 24x7 support. More details on the wolfSSL support packages and levels can be viewed here: https://www.wolfssl.com/products/support-packages-options/

wolfSSL also provides support for the latest version of the TLS protocol, TLS 1.3! Read more about wolfSSL's implementation and the protocol itself here: https://www.wolfssl.com/docs/tls13/

For more information, please contact info@wolfssl.com.

wolfSSL Apache Mynewt port

Recently, wolfSSL released version 3.15.5 of the wolfSSL embedded SSL/TLS library. This new release contains many feature additions and updates, including a port to Apache Mynewt.

Apache Mynewt is a Real-Time Operating System (RTOS) that is used to build, deploy, and securely manage billions of devices. It is designed for IoT devices that have limited memory and storage and need to run for a long time with minimal power consumption. wolfSSL's port for Mynewt uses Mynewt's raw socket interface "mnsocket" to send and receive data through an SSL/TLS connection.

The wolfSSL port for Apache Mynewt is the ideal solution for security in your embedded IoT device. Apache Mynewt is an RTOS created with resource constrained devices in mind, and wolfSSL is an embedded SSL/TLS library created with speed, strength, portability, and low footprint size in mind. The combination of wolfSSL and Apache Mynewt results in a powerful security solution.

For more information, please contact info@wolfssl.com.

wolfSSL also provides support for TLS 1.3, the most recent version of the TLS protocol!

Resources
wolfSSL v3.15.5 release notes: https://www.wolfssl.com/wolfssl-3-15-5-now-available/
Apache Mynewt homepage: https://mynewt.apache.org

TLS 1.3 combined with FIPS (#FIPS #TLS13)

wolfSSL is a lightweight TLS/SSL library that is targeted for embedded devices and systems. It has support for the TLS 1.3 protocol, which is a secure protocol for transporting data between devices and across the Internet. In addition, wolfSSL uses the wolfCrypt encryption library to handle its data encryption.

Because there is a FIPS 140-2 validated version of wolfCrypt, this means that wolfSSL not only has support for the most current version of TLS, but it also has the encryption backbone to support your FIPS 140-2 needs if required.

Some key benefits of combining TLS 1.3 with FIPS validated software include:

  1. Software becomes marketable to federal agencies - without FIPS, a federal agency is not able to use cryptographic-based software
  2. Single round trip
  3. 0-RTT (a mode that enable zero round trip time)
  4. After Server Hello, all handshake messages are encrypted.

And much more! For more information regarding the benefits of using TLS 1.3 or using the FIPS validated version of wolfCrypt, check out wolfSSL's TLS 1.3 Protocol Support and our wolfCrypt FIPS page.

FIPS 140-2 is a government validation that certifies that an encryption module has successfully passed rigorous testing and meets high encryption standards as specified by NIST. For more information or details on FIPS 140-2, it may be helpful to view this Wikipedia article: https://en.wikipedia.org/wiki/FIPS_140-2

For more details about wolfSSL, TLS 1.3, or if you have any other general inquiries please contact info@wolfssl.com

To find out more about FIPS, check out the NIST FIPS publications or contact fips@wolfssl.com

wolfSSL at TRON Symposium (TRONSHOW) 2018

wolfSSL will be exhibiting at the 2018 TRON Symposium (TRONSHOW). wolfSSL will be exhibiting from 10:00am to 5:00pm, on December 12th-14th.

The TRON Symposium 2018 will be located at the Tokyo Midtown Hall, with wolfSSL exhibiting at booth B2.
Tokyo Midtown Hall: Akasaka 9-7-1, Minato-ku, Tokyo (directions)

Stop by to hear about the wolfSSL embedded SSL/TLS library which provides support for the latest versions of TLS, wolfTPM, wolfMQTT, wolfSSH, or any of the other wolfSSL products which provide the link between TLS and hardware security. We look forward to seeing you there!

For questions, feel free to contact info@wolfssl.com.

wolfBoot – wolfSSL’s Secure Bootloader

wolfSSL is pleased to announce the first ever release of wolfBoot!

wolfBoot v1.0 release page: https://github.com/wolfSSL/wolfBoot/releases/tag/v1.0

wolfBoot is a secure bootloader that leverages wolfSSL's underlying wolfCrypt module to provide signature authentication for the running firmware.

The role of a secure bootloader is to effectively prevent the loading of malicious or unauthorized firmware on the target. Additionally, wolfBoot provides a fail-safe update mechanism, that can be interrupted at any time, and resumed at next boot.

wolfBoot is designed to be a portable, OS-agnostic, secure bootloader solution for all 32-bit microcontrollers, relying on wolfCrypt for firmware authentication.

Due to its minimalist design and the tiny Hardware Abstraction Layer (HAL) API, wolfBoot is completely independent of any OS or bare-metal application, and can be easily ported and integrated into existing embedded software solutions.

wolfBoot provides the basis for secure firmware update (OTA) management at boot time, cutting down the development effort needed to implement and validate the required mechanisms to handle the updates. It reduces the development effort to just receiving the image using a secure channel within the application/OS. We recommend using wolfSSL to encrypt the firmware transfer over TLS, to avoid eavesdropping. Once the image is transferred and stored into the update partition, wolfBoot takes care of the update procedure at the next boot.

Remote updates that would lead to a faulty firmware are automatically reverted by wolfBoot after the first 'test' boot, by restoring the original firmware image whenever the update has failed to boot properly. This mechanism protects the target device from accidental updates on the field.

wolfBoot can be downloaded from the wolfSSL download page here: https://www.wolfssl.com/download/

More about boot loaders can be found here: https://en.wikipedia.org/wiki/Booting#BOOT-LOADER
More about wolfSSL: https://www.wolfssl.com/products/wolfssl/
More about wolfCrypt: https://www.wolfssl.com/products/wolfCrypt/

Contact info@wolfssl.com for any questions or for more information

wolfSSL support for Asio and Boost.Asio C++ Libraries

Recently, wolfSSL released version 3.15.5. This new release contains many new feature additions and updates, including the addition of several new ports. One of these ports is for replacing OpenSSL with wolfSSL in the Asio and Boost.Asio C++ libraries!

Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. It is used in a multitude of different projects and is included as part of the core C++ Boost libraries as Boost.Asio.

As of right now, our changes to the Asio repository are still in the process of being merged upstream. However, If you are interested in using Asio with wolfSSL in your project don’t hesitate to contact us at info@wolfssl.com and we will send you the required source code. Then, follow the instruction in the rest of this blog post to learn how to build Asio with wolfSSL.

After cloning or downloading the latest version of wolfSSL from GitHub, execute the following commands from the wolfSSL root directory.

$ ./autogen.sh
$ ./configure --enable-asio
$ make
$ sudo make install

After cloning or downloading the latest version of Asio from GitHub, execute the following commands from the Asio root directory. Asio can be downloaded from GitHub here: https://github.com/chriskohlhoff/asio

$ ./autogen.sh
$ ./configure --with-wolfssl=/path/to/wolfSSL/installation        #(i.e. /usr/local)
$ make
$ sudo make install

To run Asio’s unit tests and ensure everything has been built correctly with wolfSSL, you can run the following command:

$ make check

The wolfSSL compatible Asio version relies on the preprocessor statement “ASIO_USE_WOLFSSL” to function correctly. You may need to define this when compiling your application or you can insert “#include <wolfssl/options.h>” before any SSL related Asio header files are declared.

For more information on building and installing Asio, view the Asio documentation.

Until wolfSSL support for Asio has been merged into the stable releases of Boost, you will have to manually replace Boost.Asio in the current Boost release with the wolfSSL compatible version. To do this, follow the instructions below.

In the root directory of the wolfSSL compatible Asio download, execute the following command to convert the standalone Asio version into the Boost.Asio version.

$ ./boostify.pl

You will now need to copy the asio directory located in asio/boostified/libs/asio/include/boost and replace the asio directory in your Boost download. The asio directory in Boost can be found in boost_1_67_0/boost

You can now build and install Boost to your system by running the following command from the Boost root directory.

$ ./bootstrap.sh
$ ./b2
$ sudo ./b2 install

The preprocessor statement that Boost.Asio relies on is “BOOST_ASIO_USE_WOLFSSL”.

That's it! You should now be able to run your own applications that use Asio or Boost.Asio with wolfSSL!

For more information or help with getting Asio and wolfSSL into your project, please contact us at info@wolfssl.com.

Expanded PKCS#7 support

Recently, wolfSSL released version 3.15.5. This new release of wolfSSL features many new updates, one of which is expanded support for PKCS#7 Cryptographic Message Syntax (CMS). This contains support for using PKCS#7 with Key-Encryption Key Recipient Info (KEKRI), Password Recipient Info (PWRI), and Other Recipient Info (ORI) types.

PKCS#7 is used to sign, encrypt, or decrypt messages under Public Key Infrastructure (PKI). It is also used for certificate dissemination, but is most commonly used for single sign-on.

This expanded PKCS#7 support improves how implementations using wolfSSL handle receiving various RecipientInfo types that were not supported, and also allows wolfSSL to more accurately determine the information and details about each recipient.

Additionally, wolfSSL also provides support for TLS 1.3, which includes many new features such as handshake speedups, removal of insecure algorithms, and improved encryption requirements.

For more information, feel free to contact support@wolfssl.com.

Resources
wolfSSL 3.15.5 release notes: https://www.wolfssl.com/wolfssl-3-15-5-now-available/
PKCS Wikipedia article: https://en.wikipedia.org/wiki/PKCS
TLS 1.3: https://www.wolfssl.com/docs/tls13/

wolfSSL Yocto Project and OpenEmbedded Support

Did you know that wolfSSL, wolfSSH, wolfMQTT, and wolfTPM all support being compiled on Yocto Project or OpenEmbedded based projects?  We recently refreshed our layer and recipe files to support the most current product versions, examples, and Open Source project bbappend files.

There are a several ways that projects can include wolfSSL products, or the wolfSSL embedded SSL/TLS library in Yocto Project / OE images.  wolfSSL maintains a layer called “meta-wolfssl“, located on GitHub here:

https://github.com/wolfssl/meta-wolfssl

This layer includes recipes for:

  • wolfSSL embedded SSL/TLS library
  • wolfSSH lightweight SSH library
  • wolfMQTT lightweight MQTT Client Library
  • wolfTPM TPM 2.0 Library
  • wolfCrypt test application
  • wolfCrypt benchmark application
  • cURL .bbappend file, for compiling cURL with wolfSSL support

If you are interested in trying these recipes out, we have a great Getting Started document available here:

wolfSSL Getting Started for Yocto and OpenEmbedded

The wolfSSL product recipe is also part of the “meta-openembedded/meta-networking/recipes-connectivity” layer, located here:

https://github.com/openembedded/meta-openembedded/tree/master/meta-networking/recipes-connectivity/wolfssl

If you have questions about using “meta-wolfssl” in your project, or need tips on getting started with your build, email us at info@wolfssl.com!

 

wolfSSL Summer of Security Internship Program

Are you a student looking to gain experience in Internet Security, including SSL/TLS, cryptography, MQTT, SSH, and TPM 2.0?  wolfSSL is one of the leading producers of Open Source Internet security products, securing over 2 Billion active connections on the Internet today.  The wolfSSL “Summer of Security” program is a Summer internship in Bozeman, MT and Edmonds, WA which spans the Summer months and brings qualified students on-board to learn about how security software is written, tested, and used around the world.

The Summer of Security program allows wolfSSL interns to gain knowledge in the embedded SSL/TLS industry as well as valuable programming experience in Linux and embedded systems. Throughout the Summer, interns will play a role in improving documentation, current examples, test cases, and community support within wolfSSL and related products.

The Summer of Security is a great opportunity for students to increase work experience in the field of Computer Science and work towards a potential career as part of the wolfSSL team. The team at wolfSSL looks for knowledgeable students who have experience in C programming. Prior embedded systems experience, network programming experience, and familiarity with git/GitHub are a plus.

Apply Today!

If you are interested in learning more about the wolfSSL Summer of Security internship program, please send a resume and cover letter to us at info@wolfssl.com!

Learn More

wolfSSL Homepage
wolfSSL Products Page
wolfSSL User Manual
TLS 1.3 Support!
wolfSSL Examples Repository (GitHub)

Posts navigation

1 2