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 jokio daugkartinio HSM (pilno funcionalumo HSM arba USB FIPS key), užsakymo metu pasirinkite, ką norite gauti:

  • Daugkartinį USB FIPS key – daugkartinis, siunčiamas iš Lietuvos arba ES. Jame sugeneruosite CSR ir įsirašysite internetu gautą sertifikatą.
  • USB token – vienkartinis, galioja metus, paskui išmetamas, siunčiamas iš užsienio. Sertifikatas bus įrašytas šiame USB rakte, 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.

Sectigo instrukcija, kaip sugeneruoti CSR ir key attestation su YubiKey

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.