{
  "id": 8426431,
  "title": "AWS IoT: Step by step guide on fleet provisioning with CSR using ESP32-S3",
  "url": "https://urgent.news/2026/09/19/aws-iot-step-by-step-guide-on-fleet-provisioning-with-csr-using-esp32",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-19T09:21:44.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/wesley_wong_21f35bb258df3/aws-iot-step-by-step-guide-on-fleet-provisioning-with-csr-using-esp32-s3-2pjk"
  },
  "original_language": "en",
  "account": "AWS IoT provides a secure method for fleet provisioning, enabling IoT devices to generate their own private keys and request uniquely signed X.509 client certificates upon their first connection. The process involves local key generation on the device, sending a CSR to AWS IoT Core, and then receiving the signed certificate. This method enhances security, as the private key remains on the device and cannot be transmitted or exposed during manufacturing. It is particularly useful for hardware that utilizes a secure element, where private keys cannot be imported. Additionally, the method allows for custom certificate authorities, enabling self-managed signing with the use of a custom Public Key Infrastructure (PKI), as well as the ability to use custom validity periods and algorithms.\n\nTo implement fleet provisioning using the ESP32-S3, the setup requires Ubuntu 26.04 LTS, the esp-idf v5.5.5, and the esp-aws-iot repository. The folder structure for the demo includes the esp/, esp-aws-iot/, examples/fleet_provisioning/ and esp-idf/ directories. After setting up the environment and building the example, you can proceed with creating a provisioning policy, a claim certificate, an IAM role for fleet provisioning, and a thing policy.\n\nThe provisioning policy defines permissions and controls for creating cloud resources, connected devices, and attaching security policies. The claim certificate, a shared, bootstrap X.509 certificate and private key, is pre-installed on devices during manufacturing. An IAM role is necessary for AWS IoT to create, configure, and register resources on your behalf. Finally, a thing policy is created for the device thing, which is generated during fleet provisioning. Using the provided JSON content, policies can be created and attached to the respective certificates and things in the AWS IoT Core.",
  "summary": "1. Introduction: Fleet provisioning with CSR Fleet provisioning is a secure method where an IoT device generates its own private key locally and sends a CSR to AWS to obtain a uniquely signed X.509 client certificate upon its first connection. How it works: Local Key Generation : The device creates its own private key and a CSR on the device itself. The private key never leaves the device.…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}