Les applications communiquent avec un HSM via PKCS #11, KMIP, des fournisseurs Java JCA, Windows CNG ou les API des fabricants et des clouds ; la clé ne sort jamais, seules les signatures ou les données déchiffrées en sortent. Le niveau d’assurance s’exprime généralement par une validation FIPS 140-3 (ou 140-2) de niveau 2 ou 3, ou par une certification Critères communs. Les AC de confiance publique doivent conserver leurs clés dans de tels équipements et, depuis 2023, les clés de signature de code de confiance publique doivent elles aussi être générées et stockées dans du matériel.
Les services cloud de gestion des clés (AWS KMS, Google Cloud KMS, Azure Key Vault Managed HSM) exposent des clés adossées à des HSM sous forme de ressources d’API, avec des politiques IAM et des journaux d’audit. Leurs appels de signature ECDSA renvoient des signatures encodées en DER, qu’il faut convertir en r‖s brut pour les jetons JWS ES256 : un bug d’intégration courant.
Limites à vérifier avant d’en choisir un : algorithmes et courbes pris en charge (la prise en charge d’Ed25519, de secp256k1 et des algorithmes post-quantiques varie selon le modèle et le micrologiciel), débit et latence par signature, procédures de sauvegarde et de clonage des clés, et nécessité ou non d’une signature avec pré-hachage pour les messages volumineux.