Ok, iată răspunsul de la asistența AWS - sperăm că îl vor adăuga în documentele lor
Determinați mânerele fișierelor CloudHSM pentru cheia privată și publică (puteți face acest lucru eliminând modulul din certificat și folosind instrumentele hsm pentru a căuta cheia. Cu toate acestea, am raportat mânerele înainte de a-mi genera CSR-ul și după, astfel încât să le pot adăuga la documentația mea sigură - așa că nu a trebuit să fac asta
Creați un container KSP
C:\Program Files\Amazon\CloudHSM>import_key.exe -din HSM
-privateKeyHandle <mâner cheie privată> -publicKeyHandle <mâner cheie publică>
Aceasta ar trebui să scoată ceva similar cu:
„A reprezentat 1 pereche de taste în Cavium Key Storage Provider.”
Dacă primiți un mesaj de eroare „n3fips_password is not set” asigurați-vă că ați setat acreditările de conectare pentru HSM pe sistemul dumneavoastră, așa cum este detaliat în [4] de mai jos.
- Rulați următoarea comandă pentru a verifica că noul container de chei se află în furnizorul dvs. de stocare a cheilor:
C:\Program Files\Amazon\CloudHSM>certutil -key -csp "Cavium Key Storage provider"
„Cavius Key Storage Provider” s-ar putea să nu fie numele dat containerului pentru chei. Acest nume este preluat din rezultatul generat de la primul pas.
Dacă containerul a fost creat cu succes, rezultatul ar trebui să fie similar cu următorul:
Furnizor Cavium Key Storage:
<numele containerului cheie>
RSA
CertUtil: comanda -key a fost finalizată cu succes.
- Creați un repair.txt astfel încât să putem actualiza magazinul de certificate pentru a utiliza containerul
[Proprietăți]
11 = "" ; Adăugați proprietatea nume prietenos
2 = "{text}" ; Adăugați proprietatea informații despre furnizorul cheie
_continue_="Container=<key container name>&"
_continue_="Provider=Cavium Key Storage Provider&"
_continue_="Flags=0&"
_continue_="KeySpec=2"
- Asigurați-vă că daemonul client CloudHSM încă rulează și utilizați
certutil verb -repairstore
pentru a actualiza numărul de serie al certificatului. Această comandă ar arăta ceva similar cu următorul:
certutil -repairstore my <certificat serial number> repair.txt
- După repararea depozitului de certificate, rulați următoarea comandă pentru a verifica dacă certificatul a fost asociat cu succes cu noul container de chei:
certutil -store my
Te vei aștepta la așa ceva
================ Certificat 0 ================
Număr de serie: <număr de serie al certificatului>
Emitent: CN=MYRootCA
Nu înainte de: 05.02.2020 13:38
NotAfter: 05.02.2021 13:48
Subiect: CN=www.mydomain.com, OU=Managementul certificatelor, O=Tehnologia informației, L=Houston, S=Texas, C=SUA
Certificat non-rădăcină
Cert Hash(sha1): 5a...24
Container cheie = CNGRSAPriv-...d
Furnizor = Furnizor de stocare a cheilor Cavium
Cheia privată NU este exportabilă
Testul de criptare a trecut
CertUtil: comanda -store a fost finalizată cu succes.
Dacă Container cheie = CNGRSAPriv-...d
arată containerul potrivit, atunci știți că relația cert KSP este bună
Dacă vezi Cheia privată NU este exportabilă
și Testul de criptare a trecut
știți că utilizați mânerele de fișier curent.
Dacă utilizați signtool, va trebui să adăugați /sm
pentru a-l forța să folosească magazinul de mașini și nu magazinul utilizatorului, deoarece procesul de mai sus generează containerul legat de depozitul de mașini. Nu există nicio opțiune în jurul asta.