Code Signing sertifikatai gali būti naudojami tik įrašyti į HSM (angl. hardware security module). Kadangi jie negali būti įrašyti į kompiuterio failų sistemą, tai ir jų privatūs raktai negali būti saugomi kompiuterio failų sistemoje. Todėl negalima generuoti Code Signing sertifikatų CSR su kompiuteryje lokaliai veikiančiais įrankiais kaip OpenSSL.

Jei neturite HSM, užsakymo metu pasirinkite, kad sertifikavimo institucija pristatytų HSM. Tokiu atveju sertifikatas bus įrašytas USB modulyje ir iš viso nereikės generuoti CSR.

Jei jau turite HSM (pvz., YubiKey 5 FIPS), galite susigeneruoti CSR jame. HSM įrenginyje bus išsaugotas privatus raktas ir rodomi CSR bei attestation paketas, kuriuos nukopijuosite į sertifikato leidėjo sistemą. Gavę sertifikato viešą raktą iš leidėjo, įkelsite jį į savo HSM naudodami jo programinę įrangą. Visi HSM gamintojai savo dokumentacijoje paaiškina, kaip sugeneruoti CSR ir attestation su jų programine įranga.

Naudojant debesų infrastruktūros HSM (pvz.: Google Cloud KMS, Azure Key Vault, AWS CloudHSM, Luna Cloud HSM) viskas vyksta panašiai. Cloud HSM paslaugų kainos svyruoja nuo 2$ iki 2000$ per mėnesį, todėl prieš generuodami CSR įsitikinkite, kad pasirinkote tinkamą HSM paslaugą ir numatėte jos išlaidas savo projekto biudžete.

Saugūs HSM neleidžia nusikopijuoti privataus rakto. Todėl negalima pakeisti HSM po sertifikato išdavimo arba turėti tą patį sertifikatą keliose vietose. Jei norite naudotis ir fiziniu, ir Cloud HSM, turite užsisakyti kelis atskirus sertifikatus.

Sectigo pateikia trumpas Code Signing CSR generavimo instrukcijas čia.