3. Terminologie
Les mots-clés « MUST » (DOIT), « MUST NOT » (NE DOIT PAS), « REQUIRED » (REQUIS), « SHALL » (DEVRA), « SHALL NOT » (NE DEVRA PAS), « SHOULD » (DEVRAIT), « SHOULD NOT » (NE DEVRAIT PAS), « RECOMMENDED » (RECOMMANDÉ), « NOT RECOMMENDED » (NON RECOMMANDÉ), « MAY » (PEUT) et « OPTIONAL » (OPTIONNEL) dans ce document doivent être interprétés comme décrit dans BCP 14 [RFC2119] [RFC8174], lorsqu'ils apparaissent en majuscules, comme indiqué ici.
Les deux rôles principaux dans ACME sont le « client » (Client) et le « serveur » (Server). Le client ACME utilise le protocole pour demander des opérations de gestion de certificats, telles que la délivrance ou la révocation. Un client ACME peut s'exécuter sur un serveur Web, un serveur de messagerie ou tout autre système serveur nécessitant un certificat X.509 valide. Il peut également s'exécuter sur un serveur distinct qui n'utilise pas lui-même le certificat, mais qui est autorisé à répondre aux défis fournis par la CA. Le serveur ACME s'exécute au niveau de l'autorité de certification et répond aux demandes des clients, en exécutant les opérations demandées si le client y est autorisé.
Le client ACME s'authentifie auprès du serveur via une « paire de clés de compte » (Account Key Pair). Le client signe tous les messages envoyés au serveur avec la clé privée de cette paire de clés. Le serveur utilise la clé publique pour vérifier l'authenticité et l'intégrité des messages provenant du client.