Systém Windows KSP a PKCS#11 s PKI Proxy

Tento dokument vysvetľuje používanie PKI Proxy s NetHSM. PKI Proxy umožňuje používanie NetHSM prostredníctvom natívnych rozhraní API systému Microsoft Windows. Na tento účel PKI Proxy obsahuje KSP (Key Storage Provider), ktorý umožňuje jeho používanie prostredníctvom rozhrania CNG (Cryptography API: Next Generation). Okrem toho poskytuje prístup PKCS#11 k NetHSM, ale to by sa malo používať len vtedy, ak si to vyžaduje vaše nastavenie, napríklad ak potrebujete ďalšie funkcie overovania PKI Proxy alebo ak chcete používať PKI Proxy ako bránu, aby ste nemuseli vystavovať NetHSM priamo klientom. Vo všetkých ostatných prípadoch použite priamo ovládač NetHSM PKCS#11.

Nasadenie NetHSM s PKI Proxy vyzerá takto.

Spojenie medzi NetHSM a serverom PKI Proxy, klientom a vystavenými klientskymi rozhraniami.

NetHSM poskytuje rozhranie REST API, ktoré používa ovládač NetHSM PKCS#11. Proxy server PKI používa tento ovládač na pripojenie k NetHSM a prístup k jeho kľúčom a certifikátom. Klienti servera PKI Proxy používajú na prístup ku kľúčom a certifikátom rozhranie REST API servera PKI Proxy. Aplikácie na klientovi môžu používať buď natívne rozhranie API systému Windows, alebo ovládač PKCS#11. Komunikácia medzi NetHSM a serverom PKI Proxy a klientmi PKI Proxy je šifrovaná. Server PKI Proxy a klient môžu byť spustené na tom istom počítači.

Možné prípady použitia tohto nastavenia sú:

  • Code signing

  • Document signing

Tip

Ďalšie informácie nájdete aj v oficiálnej dokumentácii PKI Proxy.

Prerequisits

  • NetHSM (hardvérový alebo kontajnerový) - Zabezpečený - IP adresa NetHSM musí byť známa a port HTTPS musí byť dosiahnuteľný.

  • Počítač so systémom Windows - nainštalovaný a nakonfigurovaný ovládač Nitrokey NetHSM PKCS#11 (vyžaduje sa len na serveri PKI Proxy).

Dôležité

Na niektorých počítačoch môže server PKI Proxy počas postupu vykladania modulu NetHSM PKCS#11 spadnúť. Ide o chybu v závislosti modulu a sleduje sa na stránke tento GitHub issue. Ak sa stretnete s touto chybou, nastavte, prosím, v konfiguračnom súbore NetHSM PKCS#11 konfiguračnú možnosť disable_thread_pool na true. Pre lepšie pochopenie spôsobu konfigurácie si pozrite príklad konfiguračného súboru.

Proxy server PKI - server

Server PKI Proxy zdieľa kľúče a certifikáty z NetHSM pre rôznych používateľov.

Inštalácia

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

  2. Otvorte inštalačný program a postupujte podľa sprievodcu inštaláciou.

  3. V ponuke Štart otvorte aplikáciu PKI Proxy. Ak ste ho nainštalovali do predvoleného umiestnenia, môžete ho spustiť aj nasledujúcim príkazom z dialógového okna Run alebo PowerShell.

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

    Poznámka

    Program PKI Proxy sa minimalizuje do systémovej lišty, aj keď je hlavné okno zatvorené.

Service Configuration

Podľa nasledujúcich pokynov nakonfigurujte server PKI Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Uistite sa, že je začiarknuté políčko Enable TLS a že sa používa vhodný certifikát.

  4. Change to the Users tab.

  5. Vytvorte nového používateľa kliknutím na tlačidlo New…. Vyberte typ overovania, ktorý je podporovaný všetkými klientmi.

  6. Na paneli ponúk hlavného okna kliknite na tlačidlo Start, čím spustíte službu PKI Proxy.

Publish Certificates from the NetHSM

V nasledujúcom kroku nakonfigurujeme, ktoré certifikáty z NetHSM sa sprístupnia prostredníctvom PKI Proxy.

  1. Uistite sa, že je otvorené hlavné okno servera PKI Proxy.

  2. Change to the Certificates tab.

  3. Kliknite na tlačidlo New…. Tým sa otvorí okno Share Certificate.

  4. Kliknite na tlačidlo Select Certificate or Key… (Vybrať certifikát alebo kľúč…) v rámčeku okna Certificate. Tým sa otvorí okno Select a Private Key (Vyberte súkromný kľúč).

  5. Prejdite na kartu Security Key.

  6. Kliknite na tlačidlo Browse… a vyberte súbor knižnice ovládača NetHSM PKCS#11. V textovom poli PKCS#11 Library sa teraz zobrazí cesta k súboru knižnice.

  7. Z rozbaľovacej ponuky Security Key (PKCS#11) vyberte slot, ktorý obsahuje certifikát. Uvedené sloty závisia od konfigurácie modulu PKCS#11.

  8. Click the Open button.

  9. V textovom zozname pod Certificates sa teraz zobrazuje zoznam dostupných certifikátov a generických kľúčov v NetHSM. Vyberte certifikát alebo generický kľúč, ktorý chcete zdieľať s PKI Proxy.

  10. Výber potvrďte kliknutím na tlačidlo OK. Tým sa vrátite do okna Akciový certifikát. V okne sa teraz zobrazia podrobnosti o vybranom certifikáte.

  11. Kliknite na tlačidlo Add… (Pridať…) v rámci okna Access and Permissions (Prístup a oprávnenia). Tým sa otvorí okno Select user (Vybrať používateľa).

  12. Vyberte existujúceho používateľa z rozbaľovacej ponuky alebo vytvorte nového používateľa výberom položky Create New User…. Výber potvrďte kliknutím na tlačidlo OK. Ak sa rozhodnete vytvoriť nového používateľa, zobrazí sa následne okno New User (Nový používateľ).

  13. V okne Share Certificate sa tiež uistite, že sú povolené len požadované operácie pre certifikát alebo generický kľúč. To môžete zmeniť pomocou zaškrtávacích políčok v spodnej časti rámu Prístup a oprávnenia.

  14. Kliknutím na tlačidlo OK zverejnite certifikát. Tým sa vrátite do hlavného okna servera PKI Proxy.

  15. V textovom zozname pod Správa certifikátov sa teraz zobrazuje zverejnený certifikát.

Dôležité

Uistite sa, že mechanizmy zdieľaného kľúča v NetHSM umožňujú zamýšľané použitie v PKI Proxy.

Proxy server PKI - klient

Nástroje klienta PKI Proxy poskytujú rôzne spôsoby prístupu k zdieľaným kľúčom a certifikátom zo servera PKI Proxy.

Tip

Server PKI Proxy obsahuje klientske nástroje. Preto počítač, na ktorom je server spustený, môže byť zároveň klientom pre seba samého.

Inštalácia

  1. Stiahnite si PKI Proxy 2024 - Client Tools z webovej stránky /n software.

  2. Otvorte inštalačný program a postupujte podľa sprievodcu inštaláciou.

KSP (Key Storage Provider)

PKI Proxy poskytuje KSP na prepojenie so serverom PKI Proxy. KSP umožňuje používať natívne API systému Windows s aplikáciami prostredníctvom rozhrania CNG (Cryptography API: Next Generation). Viac informácií nájdete v dokumentácii PKI Proxy.

PKCS#11

PKI Proxy poskytuje modul PKCS#11 na prepojenie so serverom PKI Proxy. Viac informácií nájdete v dokumentácii PKI Proxy.