Skip to main content

NanoCert

DigiCert® NanoCert provides embedded and IoT devices secure certificate handling, enrollment, and validation capabilities by integrating directly into C/C++ applications.

NanoCert delivers certificate management capabilities with a focus on efficiency and security.

  • Small memory footprint optimized for embedded and IoT devices.

  • Accelerated integration of complex cryptographic functions.

  • FIPS 140-2 Level 1 validated cryptography (optional).

  • NSA Suite B cryptography support (upgrade option).

  • Open standards-based, RFC compliant implementation.

  • Complete SCEP and EST client functionality.

  • Automated certificate enrollment, renewal, revocation, and validation.

  • OS- and platform-agnostic design for seamless portability.

  • Threadless, asynchronous architecture.

  • GPL-free code that protects your intellectual property.

Before you begin

To effectively use NanoCert, you should be familiar with:

  • C/C++ programming: NanoCert is provided as ANSI C source files (.c and .h). You’ll need to integrate these with your application code and understand how to work with C-style structures and function calls.

  • Your operating system: While NanoCert is largely platform-independent, you should understand fundamental operations within your target environment, including networking capabilities and external device communication.

  • Security concepts: This guide provides necessary background information, but assumes basic familiarity with cryptographic concepts, PKI (Public Key Infrastructure), digital certificates, and secure communication protocols.

FIPS and Suite B support

Theory of operation

NanoCert uses industry-standard protocols to automate certificate management tasks that traditionally required manual administration. The solution streamlines registering end entities, revoking certificates, and publishing Certificate Revocation Lists (CRLs).

NanoCert implements public key cryptography standards including:

  • PKCS #7: Specifies certificate signing and certificate request response formats

  • PKCS #10: Defines certificate request formatting

  • HTTP: Provides client-server transport functionality

The library also includes comprehensive certificate management utilities for:

  • Key generation and management

  • Certificate parsing, encoding, and decoding

  • Certificate store management

Standards

NanoCert supports the following industry standards:

  • X.509 v3 certificate format

  • X.509 v2 CRL format

  • RFC 2251 — LDAP (Lightweight Directory Access Protocol) (v3)

  • RFC 2252 — LDAP (v3): Attribute Syntax Definitions

  • RFC 2254 — String Representation of LDAP Search Filters

  • RFC 2255 — LDAP URL Format

  • RFC 2256 — A Summary of the X.500(96) User Schema for use with LDAPv3

  • RFC 2560 — Online Certificate Status Protocol - OCSP

  • RFC 2616 — Hypertext Transfer Protocol - HTTP/1.1

  • RFC 2617 — HTTP Authentication: Basic and Digest Access

  • RFC 2830 — Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security

  • RFC 3280 — X.509 certificate and CRL profiles

  • RFC 4210 — Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)

  • RFC 5759 — Suite B Certificate and Certificate Revocation List (CRL) Profile

  • IETF Draft — draft-nourse-scep-14.txt

  • draft-ietf-ldapext-ldap-c-api-05 — The C LDAP Application Program Interface

  • 3GPP TS 33.310 — Network Domain Security/Authentication Framework (NDS/AF)