CycloneACME
ACME Client Library
CycloneACME is a client implementation of ACME (Automatic Certificate Management Environment) dedicated to embedded applications. This solution can be used to automate the process of managing X.509 certificates (ordering, renewal, revocation) with a remote certification authority like Let's Encrypt. ACME allows deployment of public-key infrastructure on Internet-facing devices (HTTPS server for example) at very low cost.
CycloneACME is available either as open source (GPLv2 license) or under a royalty-free commercial license (non-GPL license). We also propose an evaluation license (90-day license in source form) with technical support for an easier onboarding and effective evaluation of our software.

Main Features
- ACME v2 protocol implementation
- Client mode of operation
- ACME account management (creation, update, deactivation and key rollover)
- Certificate management (ordering, renewal and revocation)
- Supports RSA, ECDSA and EdDSA certificates
- Supports standard ACME challenges (HTTP, DNS and TLS-ALPN)
- ACME-DNS client provides a simple way to automate ACME DNS challenges
- Compatible with ACME servers such as Let's Encrypt, Encryption Everywhere or Buypass Go SSL
- Comprehensive user API
- Flexible memory footprint. Built-time configuration to embed only the necessary features
- Portable architecture (no processor dependencies)
- The library is distributed as a full ANSI C and highly maintainable source code
Supported ACME Challenges
- http-01 (HTTP-based challenge type)
- dns-01 (DNS-based challenge type)
- tls-alpn-01 (TLS-based challenge type)
Supported Signature Algorithms
- RSA
- ECDSA
- Ed25519
- Ed448
- ARM Cortex-M3
- ARM Cortex-M33
- ARM Cortex-M4
- ARM Cortex-M7
- ARM Cortex-R4
- ARM Cortex-A5
- ARM Cortex-A8
- ARM Cortex-A9
- Legacy ARM7TDMI / ARM926EJ-S
- RISC-V
- MIPS M4K
- MIPS microAptiv
- Infineon TriCore AURIX
- PowerPC e200
- Coldfire V2
- RX600
- AVR32
- Xtensa LX6
- Amazon FreeRTOS
- ChibiOS/RT
- CMSIS-RTOS
- CMSIS-RTOS2
- CMX-RTX
- Keil RTXv4 and RTXv5
- Micrium µC/OS-II and µC/OS-III
- Microsoft Azure RTOS (ThreadX)
- Segger embOS
- TI-RTOS (SYS/BIOS)
- Zephyr RTOS
- Bare Metal programming (without RTOS)
- GNU GCC / Makefile
- AC6 System Workbench for STM32 (SW4STM32)
- HighTec Toolset for TriCore
- IAR Embedded Workbench
- Infineon DAVE
- Keil MDK-ARM
- Microchip Studio (Atmel Studio) & MPLAB X
- Microsoft Visual Studio
- NXP MCUXpresso
- Renesas e2Studio
- Segger Embedded Studio
- ST STM32CubeIDE & TrueSTUDIO
- Tasking VX-Compiler for TriCore
- TI Code Composer Studio (CSS)