MatrixSSL Directory Structure / Makefile Top level Makefile. Builds core, crypto, matrixssl and apps common.mk Top level file for common make definitions. matrixssl/ This directory contains files the implement the SSL and TLS protocol. test/ sslTest - Single-process SSL handshake test application that exercises the cipher suites and handshakes that are available in the currently built library. crypto/ digest/ Message digests (SHA256, etc.) symmetric/ Symmetric ciphers (AES-GCM, etc.) keyformat/ Decode/encode Certificates and keys (X.509, .pem, etc.) pubkey/ RSA, ECC and DH operations math/ Large integer math operations prng/ Psuedo random number generation layer/ Cryptographic algorithm provider layer (FIPS, PKCS#11, etc.) * hardware/ Platform specific hardware provider layer * cms/ Cryptographic Messaging Syntax test/ Functionality and performance tests. * crypto-rot/ Inside Secure Root-of-Trust based crypto provider. This can be used instead of the standard software crypto implementation by defining USE_ROT_CRYPTO in cryptoConfig.h. * crypto-cl/ SafeZone Cryptographic Library Integration. This directory replaces (the most) contents of crypto library when compiling with default, combined, fipsonly, or cl-nonfips configurations. * FIPSLib11/ SafeZone FIPS Lib version 1.1, FIPS 140-2 Validation Cert. #2389 core/ * Pool based malloc() implementation Utility functions POSIX/ Operating system layer for Linux, OS X, BSD WIN32/ Operating system layer for Windows apps/ * crypto/ certgen - generate X.509 cert from a certificate request or self-signed certrequest - generate a cert request from a private RSA key dertomem - convert a der format key or certificate to C header pemtomem - convert a pem format key or certificate to C header rsakeygen - generate an RSA public/private keypair ecckeygen - generate an ECC public/private keypair RSA and ECC key and certificate generation ssl/ Example SSL client using blocking sockets and session resumption Example SSL server using non-blocking sockets and simultaneous connections dtls/ Example DTLS client Example DTLS server doc/ Release notes Developer guides API documentation testkeys/ Sample RSA, ECC, DH and PSK keys and certificate files for test and example apps xcode/ Project files for XCode. These files directly call the Makefiles in the source directories to build the matrixssl static libraries and example applications. ( * Not available in all versions of MatrixSSL )