Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lamassuiot/lamassuiot/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The EST (Enrollment over Secure Transport) endpoints implement RFC 7030 for device certificate enrollment. These endpoints support multiple enrollment flows including initial enrollment, re-enrollment, and server-side key generation.EST endpoints use mutual TLS authentication with client certificates instead of Bearer tokens. Some endpoints like
/cacerts are publicly accessible without authentication.Authentication Profile Selector (APS)
Many EST endpoints support an optional{aps} path parameter that allows different authentication profiles to be configured for different device populations or use cases.
Get CA Certificates
Retrieve the CA certificates bundle for EST enrollment. This endpoint is publicly accessible (no authentication required).Response
Returns a PKCS#7 certificate bundle containing the CA certificates. Content-Type:application/pkcs7-mime
Example Request
Get CA Certificates (with APS)
Retrieve CA certificates for a specific authentication profile.EST authentication profile selector
Example Request
Simple Enroll
Enroll a new device certificate using a Certificate Signing Request (CSR).Requires mutual TLS authentication with a valid client certificate.
Request Body
Content-Type:application/pkcs10
Binary PKCS#10 CSR data.
Response
Returns the issued certificate in PKCS#7 format. Content-Type:application/pkcs7-mime
Example Request
Simple Enroll (with APS)
Enroll a new device certificate for a specific authentication profile.EST authentication profile selector
Request Body
Content-Type:application/pkcs10
Example Request
Simple Re-enroll
Renew an existing device certificate before expiration.Requires mutual TLS authentication. The client certificate used for authentication will be renewed.
Request Body
Content-Type:application/pkcs10
Binary PKCS#10 CSR data for the renewal.
Response
Returns the renewed certificate in PKCS#7 format. Content-Type:application/pkcs7-mime
Example Request
Simple Re-enroll (with APS)
Renew a certificate for a specific authentication profile.EST authentication profile selector
Request Body
Content-Type:application/pkcs10
Example Request
Server Key Generation
Request the server to generate a key pair and issue a certificate. The server returns both the certificate and the encrypted private key.Server key generation must be enabled in the DMS settings for this endpoint to work.
Request Body
Content-Type:application/pkcs10
Binary PKCS#10 CSR data (public key will be ignored, server generates new key pair).
Response
Returns PKCS#7 data containing:- The issued certificate
- The private key (encrypted)
application/pkcs7-mime
Example Request
Server Key Generation (with APS)
Request server key generation for a specific authentication profile.EST authentication profile selector
Request Body
Content-Type:application/pkcs10
Example Request
EST Enrollment Workflow
Initial Device Enrollment
-
Get CA Certificates - Device retrieves CA certificates to establish trust
- Generate Key Pair - Device generates a key pair (or requests server generation)
- Create CSR - Device creates a Certificate Signing Request
-
Simple Enroll - Device submits CSR with authentication
- Store Certificate - Device stores the issued certificate
Certificate Renewal
- Check Expiration - Device monitors certificate expiration
- Create Renewal CSR - Device creates a new CSR (can use same or new key)
-
Simple Re-enroll - Device submits CSR using current certificate for authentication
- Replace Certificate - Device replaces old certificate with renewed one
Constrained Devices (Server Key Generation)
-
Get CA Certificates
-
Request Server Key Generation - Device requests server to generate key pair
- Receive and Store - Device securely stores both certificate and private key
EST Response Formats
All EST enrollment responses use PKCS#7 format (application/pkcs7-mime).
To extract certificates from PKCS#7 responses:
Error Handling
EST endpoints return standard HTTP status codes:200 OK- Enrollment successful400 Bad Request- Invalid CSR format or request401 Unauthorized- Invalid or missing client certificate403 Forbidden- Client certificate valid but not authorized500 Internal Server Error- Server-side error during enrollment
