--- title: "Get started" source_url: https://dev.digicert.com/trustcore-sdk/nanossl/get-started.html --- This documentation provides guidance to application programmers incorporating a NanoSSL client or server into the C/C++ application source code for their devices. It describes NanoSSL features and provides integration procedures. ## Before you begin This guide assumes you are familiar with the following: - **C programming**: TrustCore SDK components are provided as ANSI C source (*.c and *.h files), distributed in a ZIP file. To use the API for a component, you need to be able to unzip it, integrate it with your application's code, and understand how to interface to C-style structures and call C functions. - **Your operating system**: TrustCore SDK components are largely independent of the underlying operating system. However, within the context of your operating system, you should understand how to perform basic functions such as communicating with external devices. - **Security concepts**: This guide provides background information for working with TrustCore SDK. However, neither cryptography nor basic security concepts such as handshaking, TCP/IP, and so on are covered. For information about such topics, seek out reference books from authors experienced in the field, and consult reference material available on the Internet. ## Related topics - [NanoSSL overview](https://dev.digicert.com/md/trustcore-sdk/nanossl/nanossl-overview.md): Purpose, features, and functions of NanoSSL. - [NanoSSL client integration](https://dev.digicert.com/md/trustcore-sdk/nanossl/nanossl-client-integration.md): How to build and integrate a NanoSSL client into applications. - [NanoSSL server integration](https://dev.digicert.com/md/trustcore-sdk/nanossl/nanossl-server-integration.md): How to build and integrate a NanoSSL server into applications. - [FAQs](https://dev.digicert.com/md/trustcore-sdk/nanossl/faqs.md): Solutions to common issues faced during NanoSSL integration efforts. ## In this section - [OpenSSL shim compatibility](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/openssl-shim-compatibility.md) - [Minimum hardware requirements](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/minimum-hardware-requirements.md) - [Cipher suite support](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/cipher-suite-support.md) - [Modes of operation](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/modes-of-operation.md) - [Using TPM keys](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/using-tpm-keys.md) - [Understand TCP and SSL functions](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/understand-tcp-and-ssl-functions.md) - [Quick start guide](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/quick-start-guide.md) - [Multiple instances in a single process](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/multiple-instances-in-a-single-process.md) - [Configure SSL handshake with mutual authentication](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/configure-ssl-handshake-with-mutual-authentication.md) - [Implement SSL certificate pinning](https://dev.digicert.com/md/trustcore-sdk/nanossl/get-started/implement-ssl-certificate-pinning.md)