</noinclude> CyaSSL (or yet another SSL) is a small, portable, embedded SSL programming library targeted for use by embedded systems developers. It is an open source, dual licensed implementation of SSL (SSL 3, TLS 1.0, 1.1, and TLS 1.2) built in the C language. Included are SSL client libraries and an SSL server implementation as well as support for multiple API's, including those defined by SSL and TLS. yaSSL also includes an OpenSSL compatibility interface with the most commonly used OpenSSL functions. A predecessor of CyaSSL, yaSSL, is a based SSL library for embedded environments and real time operating systems with constrained resources. Platforms CyaSSL/yaSSL are currently available for Win32/64, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, OpenWRT, iPhone, Nintendo Wii and Gamecube through DevKitPro support, QNX, VxWorks, MontaVista, ThreadX, and Tron variants. Both products were written with a high degree of portability. History The genesis of yaSSL, or yet another SSL, dates to 2004. OpenSSL was available at the time, but many OpenSSL users wanted an alternative that was more portable and available under either a clear commercial license or the GPL. Some users also wanted a modern API and commercial style developer support. Out of this market need yaSSL, complete with an OpenSSL compatibility layer, was born. The first major user of CyaSSL/yaSSL was MySQL, the world's most popular open source database. Through bundling with MySQL, yaSSL has achieved extremely high distribution volumes in the millions. Today CyaSSL and yaSSL are used in both open source and commercial projects. CyaSSL / yaSSL are included in many types of network devices such as smart devices on automobiles, IP phones, mobile phones, routers, printers, and credit card scanners. Protocols CyaSSL for embedded SSL implements the SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2 protocols. More information about these protocols can be found at the following locations: SSL 3.0 www.freesoft.org TLS 1.0 TLS 1.1 TLS 1.2 Algorithms CyaSSL uses the following cryptography libraries: TaoCrypt By default, CyaSSL uses the cryptographic services provided by TaoCrypt which is based in part on CryptoPP (see below). TaoCrypt aims to be more portable while only providing the functionality necessary for SSL type needs. TaoCrypt Provides RSA, DES, 3DES, ARC4, MD2, MD5, SHA-1, RIPEMD-160, DSS, Diffie-Hellman, Random Number Generation, Large Integer support, and base 16/64 encoding/decoding. An experimental cipher called Rabbit, a public domain stream cipher from the EU's eSTREAM project, is also included. Rabbit is potentially useful to those encrypting streaming media in high performance, high demand environments. Support for a FIPS validated crypto module is provided by CryptoPP, below. CryptoPP CryptoPP can also be used to handle cryptography and crypto related details. RSA, DES, 3DES, ARC4, MD5, SHA-1, and DSS are currently used by CyaSSL, as well as CryptoPP's cryptographically secure random number generator, large Integer support, and base64 encoding/decoding. CryptoPP includes a FIPS 140-2 level one crypto module that may be used as well. Product history Milestones in CyaSSL development include: * CyaSSL version 1.5.0 was released on May 11, 2010. * CyaSSL version 1.4.0 was released on February 18, 2010. * CyaSSL version 1.3.0 was released on January 21, 2010. * CyaSSL version 1.2.0 was released on November 2, 2009. * CyaSSL version 1.1.0 was released on September 2, 2009. * CyaSSL version 1.0.6 was released on August 3, 2009. * CyaSSL version 1.0.3 was released on May 10, 2009. * CyaSSL version 1.0.2 was released on April 2, 2009. * CyaSSL version rc3-1.0.0 was released on February 25, 2009. * CyaSSL version rc2-1.0.0 was released on January 21, 2009. * CyaSSL version rc1-1.0.0 was released on December 17, 2008. Licensing CyaSSL is "dual licensed" under the GNU General Public License GPL , as well as typical commercial terms and conditions. CyaSSL is Open Source and as such, the source code is available for all to use, modify, test and enjoy under the GPL. Features are not reserved, making everything available in the commercial version also available in the GPL version.
|
|
|