emSSL
Transport Layer Security
Transport Layer Security (TLS) for secure IP connections.
![](https://c.a.segger.com/fileadmin/_processed_/e/6/csm_Produkt-Icon_emSSL_ff702317bb.png)
Overview
emSSL provides comprehensive support for the latest TLS protocols, offering advanced features without the constraints of open-source or attribution-required licenses. It can be seamlessly integrated into free, commercial, or proprietary products without the need to disclose the combined source code.
Delivered in ANSI C source code, emSSL ensures full transparency, allowing auditors to inspect all included modules. Its independence from specific compilers and target systems makes it ideal for both embedded software and PC applications. Additionally, emSSL is compatible with Linux, macOS, and Windows.
Designed with embedded systems in mind, emSSL is optimized for high performance and minimal memory usage in both RAM and ROM. It is highly configurable to meet specific speed or size requirements, allowing unused features to be excluded and additional features to be easily added.
Key features
emSSL is designed to meet the stringent demands of modern applications by providing advanced security features while maintaining high efficiency and adaptability.
Secure connection
emSSL ensures robust security by offering state-of-the-art encryption and the latest TLS protocol versions, safeguarding data transmission against unauthorized access and tampering.
Minimal memory footprint
In addition to having a minimal memory footprint, emSSL is modular, enabling the user to license only the modules to be used.
Plug-in cryptography interface
emSSL's cryptographic algorithms have been validated by NIST. A plug-in cryptography interface provides increased performance from a wide range of cryptographic accelerators.
Use cases
emSSL offers versatile and secure solutions for various connectivity and data transmission needs, providing robust protection that caters to a wide range of applications. Whether it's securing generic internet protocols or facilitating safe access to web APIs, emSSL ensures data integrity and confidentiality across all channels.
![](https://c.a.segger.com/fileadmin/_processed_/5/9/csm_Use-Case_General_Application_01_09c8ae333c.jpg)
Generic application
emSSL ensures a trusted and secured connection for various internet protocols suppoting TLS (such as HTTP, FTP, POP3, and IMAP,) safeguarding data transmission against unauthorized access and tampering.
![](https://c.a.segger.com/fileadmin/_processed_/4/6/csm_Use-Case_Web_API_02_d3e1d2e290.jpg)
Access to web APIs
Access to web APIs such as REST is made secure with emSSL, enabling reliable communication over HTTPS, ensuring data integrity and confidentiality.
![](https://c.a.segger.com/fileadmin/_processed_/2/2/csm_Use-Case_Data_Transfer_03_078e37255a.jpg)
Data transfer
For data transfer and provisioning, emSSL secures FTP connections (FTPs or FTP with TLS/SSL), vital for secure transmission of firmware updates, authorization data, backups, and more, ensuring data remains protected during transmission.
How emSSL works
Supporting TLS 1.0, 1.1, and 1.2, emSSL can be integrated into nearly every product, as it is independent of the target and native computer applications. It is built for high performance with target independent code. It is completely written in ANSI C and can be used in any embedded application, as well as in PC applications.
emSSL can be used with almost any compiler and run on almost any core, on Linux, macOS and Windows, with ease. SEGGER can also provide pre-configured support for a wide range of targets.
Memory footprint
The memory usage of RAM and ROM will depend on the features you select and the implementation choices you make. Our hash functions and block ciphers are highly configurable, allowing you to optimize for RAM, ROM, and performance according to your needs. You have the option to choose a faster implementation that uses more flash memory with precomputed lookup tables, or a more efficient implementation that conserves RAM and ROM at the cost of slightly slower performance.
Supported cipher suites
emSSL includes the most commonly used cipher suites, allowing you to connect to almost any TLS-supporting server. If you want to connect to a specific server with only one cipher suite, you do not need to include the whole emSSL in your project. emSSL lets you choose which cipher suites to include, so you can remove unused modules or not include them in your application, keeping the size to a minimum.
When you want to connect to a server on the Internet, the cipher suites you need depend on the server you are connecting to. emSSL includes an application to scan a server for its available cipher suites. If the server configuration remains unchanged, you only need to include one of the available cipher suites.
Purchase information
emSSL is a comprehensive software package designed for embedded systems, providing everything needed to secure communication.
The package includes all modules necessary to implement SSL functionality, supplied in source code form. This approach ensures full control over the code used in your product and offers transparency, eliminating concerns about potential backdoors or vulnerabilities present in precompiled libraries. emSSL features a simple yet powerful API, making it easy to integrate into your product.
Additionally, emSSL includes sample applications, both in binary and source code formats, demonstrating practical usage in real-life scenarios.
With its ease of use and implementation, coupled with first-class support and outstanding documentation, emSSL ensures a quick time to market.
emSSL includes sample utilities and tools to show how to use emSSL.
The sample applications are available as executables for evaluation upon request.
Application name | Description |
---|---|
SimpleWebClient | Get a webpage via HTTPS and print it to the console. |
SimpleWebServer | A minimal web server using HTTPS |
PrintCert | Read an X.509 SSL certificate and print its information to the console. |
Scan | Scan a server for its supported cipher suites. |
ROT13Server | A server that provides a ROT13 service |
ROT13Client | A client that uses the ROT13 service |
Licensing
After successful purchase, SEGGER will provide you with all necessary information to download the software. emSSL is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emSSL can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emSSL is royalty-free and not subscription-based.