{"id":19579727,"url":"https://github.com/wolfssl/wolfssl-examples","last_synced_at":"2025-05-15T18:09:52.112Z","repository":{"id":18176828,"uuid":"21290295","full_name":"wolfSSL/wolfssl-examples","owner":"wolfSSL","description":"Example applications using the wolfSSL lightweight SSL/TLS library","archived":false,"fork":false,"pushed_at":"2025-03-25T20:50:37.000Z","size":42974,"stargazers_count":260,"open_issues_count":42,"forks_count":178,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-03-31T22:21:38.597Z","etag":null,"topics":["cms","cryptography","dtls","embedded","examples","freertos","iot","pkcs7","psa","psk","security","signature-verification","ssl","tls","tpm2","x509"],"latest_commit_sha":null,"homepage":"https://www.wolfssl.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"qiuxiafei/zk-web","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolfSSL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-27T21:50:12.000Z","updated_at":"2025-03-30T05:31:41.000Z","dependencies_parsed_at":"2023-02-19T09:16:00.482Z","dependency_job_id":"a6fc4052-0c74-42d3-bb66-50001a31a486","html_url":"https://github.com/wolfSSL/wolfssl-examples","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfssl-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfssl-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfssl-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfSSL%2Fwolfssl-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolfSSL","download_url":"https://codeload.github.com/wolfSSL/wolfssl-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744334,"owners_count":20988783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","cryptography","dtls","embedded","examples","freertos","iot","pkcs7","psa","psk","security","signature-verification","ssl","tls","tpm2","x509"],"created_at":"2024-11-11T07:18:46.523Z","updated_at":"2025-04-07T23:09:01.491Z","avatar_url":"https://github.com/wolfSSL.png","language":"C","readme":"wolfSSL Example Applications\n============================\n\nThis repository contains example applications, written in C, which\ndemonstrate how to use the wolfSSL lightweight SSL/TLS library for secure\ncommunication.\n\nEach directory represents a unique topic (SSL/TLS, DTLS, PSK, etc.) and\ncontains a Makefile as well as a simple tutorial on the given topic.\n\n## Current Examples\n\n\n#### android (Android Studio and NDK Examples)\n\nThis directory contains examples that demonstrate using wolfSSL,\nwolfSSL JNI/JSSE, and wolfCrypt JNI/JCE on the Android platform. Examples\nuse either Android Studio with Gradle or the Android NDK standalone toolchain.\n\nPlease see the [android/README.md](android/README.md) for further usage and \ndetails.\n\n\u003cbr /\u003e\n\n#### BTLE\n\nThis directory contains examples for securing a Bluetooth Low Energy Link (BTLE).\nBTLE packets are small and throughput is low, so these examples demonstrate a\nway to exchange data securely without BTLE pairing.\n\nPlease see the [btle/README.md](btle/README.md) for further usage and details.\n\n\u003cbr /\u003e\n\n#### can-bus\n\nThis directory contains an example echo server/client using wolfSSL over\nCAN bus with an ISO-TP transport layer. It can be used with a virtual CAN bus\nin Linux.\n\nPlease see the [can-bus/README.md](can-bus/README.md) for further usage and details.\n\n\u003cbr /\u003e\n\n#### certfields (X509 field extraction)\n\nThis directory contains an example that demonstrate using wolfSSL\nto read a DER encoded certificate and extract the public key and\nsubject name information.\n\nPlease see the [certfields/README.md](certfields/README.md) for further usage\nand details.\n\n\n\u003cbr /\u003e\n\n#### certgen (wolfSSL Certificate Generation)\n\nThis directory contains examples that demonstrate using wolfSSL to\ngenerate and sign certificates.\n\nPlease see the [certgen/README.md](certgen/README.md) for further usage and\ndetails.\n\n\n\u003cbr /\u003e\n\n#### certmanager (wolfSSL CertManager)\n\nThis directory contains examples that demonstrate using \nCertManager (Certificate Manager) functionality.\n\nPlease see the [certmanager/README.md](certmanager/README.md) for further usage\nand details.\n\n\n\u003cbr /\u003e\n\n#### crypto (wolfCrypt Examples)\n\nThis directory contains examples that demonstrate using the wolfCrypt functionality\nto encrypt files with different algorithms (aes, 3des, etc.)\n\nPlease see the [crypto/README.md](crypto/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### custom-io-callbacks (wolfSSL Custom IO Callbacks)\n\nThis directory contains examples that demonstrate how the custom IO callbacks\ncan be used to 4 facilitate a TLS connection using any medium.\n\nPlease see the [custom-io-callbacks/README.md](custom-io-callbacks/README.md) \nfor further usage and details.\n\n\n\u003cbr /\u003e\n\n#### DTLS (Datagram TLS)\n\nThis directory contains examples of using DTLS, with client and server\nexamples demonstrating UDP, DTLS, non-blocking, session resumption,\nand multi-threading.\n\nWhen compiling wolfSSL for use with these examples, wolfSSL will need to be\ncompiled with DTLS support:\n\n```\ncd wolfssl-[version]\n./configure --enable-dtls\n```\n\nExamples in this directory may be compiled using:\n\n```\ncd ./dtls\nmake\n```\n\nPlease see the [dtls/README.md](dtls/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### ecc (Elliptic Curve Cryptography)\n\nThis directory contains examples that demonstrate the various use-cases of \nwolfcrypt ECC.\n\nPlease see the [ecc/README.md](ecc/README.md) for further usage and details.\n\n\u003cbr /\u003e\n\n#### ESP32 (Espressif)\n\nThis directory contains examples for the Espressif ESP32 chips.\n\nPlease see the [ESP32/README.md](ecc/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### embedded (Embedded Systems)\n\nThis directory contains examples that demonstrate TLS client/servers communicating\nthrough buffers and using sockets.\n\nPlease see the [embedded/README.md](embedded/README.md) for further usage and\ndetails.\n\n\n\u003cbr /\u003e\n\n#### hash (wolfCrypt Hash Examples)\n\nThis directory contains examples that demonstrate how to hash an input file using \nwolfCrypt.\n\nPlease see the [hash/README.md](hash/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### java (wolfJSSE Examples)\n\nThis directory contains examples that demonstrate HTTPS URL use with wolfJSSE\nand example keystores.\n\nPlease see the [java/README.md](java/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### mynewt (Apache Mynewt Examples)\n\nThis directory contains examples that demonstrate using wolfSSL with Apache \nMynewt OS.\n\nPlease see the [mynewt/README.md](mynewt/README.md) for further usage and \ndetails.\n\n\n\u003cbr /\u003e\n\n#### picotcp (picoTCP Examples)\n\nThis directory contains a TLS server created by using picoTCP via wolfSSL \ncustom callbacks.\n\nPlease see the [picotcp/README.md](picotcp/README.md) for further usage and \ndetails.\n\n\n\u003cbr /\u003e\n\n#### picotcp (picoTCP Examples)\n\nThis directory contains a TLS server created by using picoTCP via wolfSSL \ncustom callbacks.\n\nPlease see the [picotcp/README.md](picotcp/README.md) for further usage and \ndetails.\n\n\n\u003cbr /\u003e\n\n#### pk (Public-Key)\n\nThis directory contains examples that demonstrate various wolfCrypt public-key \nfunctionality (storing and loading keys after generation, extracting public key\nfrom private key, etc.).\n\nPlease see the [pk/README.md](pk/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### pkcs11 (PKCS #11)\n\nThis directory contains examples of using wolfSSL's PKCS #11 feature and a TLS\nserver example using a PKCS 11 based key.\n\nPlease see the [pkcs11/README.md](pkcs11/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### pkcs7 (PKCS #7)\n\nThis directory contains example applications that demonstrate usage of the \nwolfCrypt PKCS#7/CMS API, included in the [wolfSSL embedded SSL/TLS library].\n\nIt includes examples of several different content types (EncryptedData, SignedData,\nEnvelopedData, CompressedData), and demonstrates both signing/encrypting and \nverifying/decrypting operations.\n\nPlease see the [pkcs7/README.md](pkcs7/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### PSK (Pre-Shared Keys)\n\nThis directory contains examples of using PSK, with client and server examples \ndemonstrating TCP/IP, PSK, non-blocking, session resumption, and multi-threading.\n\nWhen compiling wolfSSL for use with these examples, wolfSSL will need to be\ncompiled with PSK support:\n\n```\ncd wolfssl-[version]\n./configure --enable-psk\n```\n\nExamples in this directory may be compiled using:\n\n```\ncd ./psk\nmake\n```\n\nPlease see the [psk/README.md](psk/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### riot-os-posix-lwip (RIOT-OS)\n\nThis directory contains examples that demonstrate how to use wolfSSL TLS sockets\nover RIOT-OS POSIX sockets.\n\nPlease see the [riot-os-posix-lwip/README.md](riot-os-posix-lwip/README.md) for\nfurther usage and details.\n\n\n\u003cbr /\u003e\n\n#### RT1060 (i.MX RT1060-EVK)\n\nThis directory contains a wolfCrypt benchmark test application for i.MX RT1060-EVK.\n\nPlease see the [RT1060/README.md](RT1060/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### NXP SE050\n\nThis directory contains example applications for NXP's SE050. The examples\nhave been tested on a Raspberry Pi with SE050 EdgeLock.\n\nPlease see the [SE050/README.md](SE050/README.md) for further details.\n\n\n\u003cbr /\u003e\n\n#### SGX_Linux (Linux Enclave)\n\nThis directory contains an example application, written in C, which demonstrates\nhow to link the wolfSSL lightweight SSL/TLS library with a simple Enclave using \nLinux. The example has been tested with Ubuntu 16.04.\n\nPlease see the [SGX_Linux/README.md](SGX_Linux/README.md) for further usage and \ndetails.\n\n\n\u003cbr /\u003e\n\n#### SGX_Windows (Windows Enclave)\n\nThis directory contains an example application, written in C++, which demonstrates\nhow to link the wolfSSL lightweight SSL/TLS library with a simple Enclave using\nWindows.\n\nPlease see the [SGX_Windows/README.md](SGX_Windows/README.md) for further usage \nand details.\n\n\n\u003cbr /\u003e\n\n#### signature (Sign and Verify Examples)\n\nThis directory contains examples that demonstrate using wolfSSL to sign and\nverify binary data (supports RSA and ECC for signing and MD2, MD4, MD5, SHA, \nSHA224, SHA256, SHA384 and SHA512).\n\nPlease see the [signature/README.md](signature/README.md) for further usage and \ndetails.\n\n\n\u003cbr /\u003e\n\n#### tirtos_ccs_examples (TI-RTOS)\n\nThis directory contains a client/server examples that demonstrates using wolfSSL\nin a TI-RTOS ecosystem.\n\nPlease see the [tirtos_ccs_examples/README.md](tirtos_ccs_examples/README.md) for\nfurther usage and details.\n\n\n\u003cbr /\u003e\n\n#### TLS\n\nThis directory contains examples of using SSL/TLS, with client and server\nexamples demonstrating TCP/IP, SSL/TLS, non-blocking, session resumption, and\nmulti-threading.\n\nExamples in this directory may be compiled using:\n\n```\ncd ./tls\nmake\n```\n\nPlease see the [tls/README.md](tls/README.md) for further usage and details.\n\n\n\u003cbr /\u003e\n\n#### utasker (uTasker wolfSSL Example Tasks)\n\nThis directory contains example uTasker client and server tasks  that\ndemonstrate using wolfSSL with the uTasker stack. These have been tested on\nthe uTasker Simulator.\n\nPlease see the [utasker/README.md](utasker/README.md) for further usage and\ndetails.\n\n\n\u003cbr /\u003e\n\n#### UEFI (wolfCrypt UEFI application Example)\n\nThis directory contains an example UEFI application that runs wolfcrypt test.\n\nPlease see the [uefi/README.md](uefi/README.md) for further usage and\ndetails.\n\n\n\u003cbr /\u003e\n\n## Notes\n\n\nWhen necessary, examples will use the example certificates and keys located\nin the ./certs directory. These certificates and keys have been pulled in from\nthe main wolfSSL repository.\n\nTo generate your own cert text, see the [DER to C script](https://github.com/wolfSSL/wolfssl/blob/master/scripts/dertoc.pl).\n\n\u003cbr /\u003e\n\n## Support\n\nPlease contact wolfSSL at support@wolfssl.com with any questions, bug fixes,\nor suggested feature additions.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfssl%2Fwolfssl-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolfssl%2Fwolfssl-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfssl%2Fwolfssl-examples/lists"}