Windows KSP și PKCS#11 cu PKI Proxy

Acest document explică utilizarea PKI Proxy cu NetHSM. PKI Proxy permite utilizarea NetHSM prin intermediul API-urilor native Microsoft Windows. În acest scop, PKI Proxy include un KSP (Key Storage Provider) care permite utilizarea sa prin interfața CNG (Cryptography API: Next Generation). În plus, PKI Proxy oferă acces PKCS#11 la NetHSM, dar acest lucru ar trebui utilizat numai dacă configurația dvs. necesită acest lucru, de exemplu, dacă aveți nevoie de caracteristicile suplimentare de autentificare ale PKI Proxy sau dacă doriți să utilizați PKI Proxy ca o poartă pentru a evita expunerea NetHSM direct clienților. În toate celelalte cazuri, utilizați direct driverul NetHSM PKCS#11.

Implementarea NetHSM cu PKI Proxy arată astfel.

Conexiunea dintre NetHSM și serverul PKI Proxy, clientul și interfețele client expuse.

NetHSM furnizează API REST care este utilizat de driverul NetHSM PKCS#11. PKI Proxy utilizează acest driver pentru a se conecta la NetHSM și a accesa cheile și certificatele acestuia. Clienții către PKI Proxy utilizează API REST al serverului PKI Proxy pentru a accesa cheile și certificatele. Aplicațiile de pe client pot utiliza fie API-ul nativ Windows, fie un driver PKCS#11. Comunicarea dintre NetHSM și serverul PKI Proxy și clienții PKI Proxy este criptată. Serverul și clientul PKI Proxy pot fi executate pe același computer.

Cazurile posibile de utilizare a acestei configurații sunt:

  • Code signing

  • Document signing

Sfat

Vă rugăm să consultați și documentația oficială PKI Proxy pentru mai multe informații.

Prerequisits

  • NetHSM (hardware sau containerizat) - Aprovizionat - adresa IP a NetHSM trebuie să fie cunoscută, iar portul HTTPS trebuie să poată fi accesat.

  • Echipament Windows - driverul Nitrokey NetHSM PKCS#11 instalat și configurat (necesar numai pe serverul PKI Proxy).

Important

Pe unele mașini, serverul PKI Proxy se poate bloca în timpul procedurii de descărcare a modulului NetHSM PKCS#11. Aceasta este o eroare într-o dependență a modulului și este urmărită în această problemă GitHub. Dacă întâmpinați această problemă, vă rugăm să setați opțiunea de configurare disable_thread_pool la true în fișierul de configurare NetHSM PKCS#11. Vă rugăm să consultați fișierul de configurare de exemplu ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __ pentru o mai bună înțelegere a modului de configurare.

PKI Proxy - Server

Serverul PKI Proxy partajează cheile și certificatele de la un NetHSM pentru diferiți utilizatori.

Instalare

  1. Download the PKI Proxy 2024 installer from the /n software website.

  2. Deschideți programul de instalare și urmați expertul de instalare.

  3. Deschideți PKI Proxy din meniul Start. Dacă l-ați instalat în locația implicită, îl puteți rula și cu următoarea comandă din dialogul Run sau din PowerShell.

    C:\Program Files\PKI Proxy 2024\PKIProxy.exe
    

    Notă

    PKI Proxy se va minimiza în tava sistemului, chiar dacă fereastra principală este închisă.

Service Configuration

Instrucțiunile de mai jos configurează PKI Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Asigurați-vă că caseta de selectare Enable TLS este bifată și că este utilizat un certificat adecvat.

  4. Change to the Users tab.

  5. Creați un utilizator nou făcând clic pe butonul New…. Alegeți un tip de autentificare care este acceptat de toți clienții.

  6. În bara de meniu a ferestrei principale, faceți clic pe butonul Start pentru a porni serviciul PKI Proxy.

Publish Certificates from the NetHSM

În cele ce urmează vom configura ce certificate din NetHSM sunt puse la dispoziție prin PKI Proxy.

  1. Asigurați-vă că fereastra principală PKI Proxy este deschisă.

  2. Change to the Certificates tab.

  3. Faceți clic pe butonul New…. Se va deschide fereastra Certificat de acțiuni.

  4. Faceți clic pe butonul Select Certificate or Key…, în cadrul Certificate al ferestrei. Se va deschide fereastra Select a Private Key.

  5. Treceți la fila Cheie de securitate.

  6. Faceți clic pe butonul Browse… și selectați fișierul de bibliotecă al driverului NetHSM PKCS#11. Câmpul de text PKCS#11 Library afișează acum calea către fișierul de bibliotecă.

  7. Din meniul derulant Security Key (PKCS#11) alegeți slotul care conține certificatul. Sloturile enumerate depind de configurația modulului PKCS#11.

  8. Click the Open button.

  9. Lista de text de sub Certificates afișează acum o listă a certificatelor și a cheilor generice disponibile pe NetHSM. Selectați certificatul sau cheia generică pe care doriți să le partajați cu PKI Proxy.

  10. Faceți clic pe butonul OK pentru a confirma selecția. Veți reveni la fereastra Certificat de acțiuni. Fereastra va afișa acum detaliile certificatului selectat.

  11. Faceți clic pe butonul Add…, în cadrul Access and Permissions al ferestrei. Se va deschide fereastra Select user.

  12. Selectați un utilizator existent din meniul derulant sau creați unul nou alegând Create New User…. Faceți clic pe butonul OK pentru a confirma selecția. Dacă alegeți să creați un utilizator nou, fereastra New User va fi afișată ulterior.

  13. Înapoi în fereastra Share Certificate asigurați-vă, de asemenea, că permiteți numai operațiunile necesare pentru certificat sau cheie generică. Acest lucru poate fi modificat cu casetele de selectare din partea de jos a cadrului Access and Permissions.

  14. Faceți clic pe butonul OK pentru a publica certificatul. Acest lucru vă va aduce înapoi în fereastra principală a PKI Proxy.

  15. Lista de texte de sub Certificate Management afișează acum certificatul publicat.

Important

Asigurați-vă că mecanismele cheii partajate de pe NetHSM permit utilizarea prevăzută în PKI Proxy.

PKI Proxy - Client

Instrumentele client PKI Proxy oferă diferite modalități de a accesa cheile partajate și certificatele de la un server PKI Proxy.

Sfat

Serverul PKI Proxy conține instrumentele client. Prin urmare, mașina care rulează serverul poate fi, de asemenea, un client pentru sine.

Instalare

  1. Descărcați PKI Proxy 2024 - Client Tools de pe site-ul /n software.

  2. Deschideți programul de instalare și urmați expertul de instalare.

KSP (Key Storage Provider)

PKI Proxy oferă un KSP pentru interfața cu serverul PKI Proxy. KSP permite utilizarea API-urilor native Windows cu aplicații, prin interfața CNG (Cryptography API: Next Generation). Vă rugăm să consultați documentația PKI Proxy pentru mai multe informații.

PKCS#11

PKI Proxy oferă un modul PKCS#11 pentru interfața cu serverul PKI Proxy. Vă rugăm să consultați documentația PKI Proxy pentru mai multe informații.