Systém Windows KSP a PKCS#11 s proxy serverem PKI

Tento dokument vysvětluje použití proxy serveru PKI s NetHSM. PKI Proxy umožňuje použití NetHSM prostřednictvím nativních rozhraní API systému Microsoft Windows. Za tímto účelem obsahuje PKI Proxy zprostředkovatele ukládání klíčů (KSP), který umožňuje jeho použití prostřednictvím rozhraní CNG (Cryptography API: Next Generation). Kromě toho poskytuje přístup PKCS#11 k NetHSM, ale ten by měl být použit pouze v případě, že to vaše nastavení vyžaduje, například pokud potřebujete další funkce ověřování PKI Proxy nebo chcete použít PKI Proxy jako bránu, abyste nemuseli vystavovat NetHSM klientům přímo. Ve všech ostatních případech použijte přímo ovladač NetHSM PKCS#11.

Nasazení NetHSM s PKI Proxy vypadá následovně.

Spojení mezi NetHSM a serverem PKI Proxy, klientem a vystavenými klientskými rozhraními.

NetHSM poskytuje rozhraní REST API, které používá ovladač NetHSM PKCS#11. Proxy server PKI používá tento ovladač k připojení k NetHSM a k přístupu k jeho klíčům a certifikátům. Klienti serveru PKI Proxy používají rozhraní REST API serveru PKI Proxy pro přístup ke klíčům a certifikátům. Aplikace na klientovi mohou používat buď nativní rozhraní API systému Windows, nebo ovladač PKCS#11. Komunikace mezi serverem NetHSM a PKI Proxy a klienty PKI Proxy je šifrovaná. Server PKI Proxy a klient mohou být spuštěny na stejném počítači.

Možné případy použití tohoto nastavení jsou:

  • Code signing

  • Document signing

Tip

Další informace naleznete také v oficiální dokumentaci PKI Proxy.

Prerequisits

  • NetHSM (hardwarový nebo kontejnerový) - Provisioned - IP adresa NetHSM musí být známá a port HTTPS musí být dosažitelný.

  • Počítač se systémem Windows - nainstalovaný a nakonfigurovaný ovladač Nitrokey NetHSM PKCS#11 (vyžadováno pouze na serveru PKI Proxy).

Důležité

Na některých počítačích může dojít k pádu serveru PKI Proxy během postupu vykládání modulu NetHSM PKCS#11. Jedná se o chybu v závislosti modulu, která je sledována na adrese tento GitHub issue. Pokud se s touto chybou setkáte, nastavte prosím v konfiguračním souboru NetHSM PKCS#11 konfigurační volbu disable_thread_pool na true. Pro lepší pochopení způsobu konfigurace se prosím podívejte na příklad konfiguračního souboru.

Proxy server PKI - Server

Server PKI Proxy sdílí klíče a certifikáty ze zařízení NetHSM pro různé uživatele.

Instalace

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

  2. Otevřete instalační program a postupujte podle průvodce instalací.

  3. V nabídce Start otevřete nástroj PKI Proxy. Pokud jste ji nainstalovali do výchozího umístění, můžete ji také spustit následujícím příkazem z dialogového okna Spustit nebo z prostředí PowerShell.

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

    Poznámka

    Nástroj PKI Proxy se minimalizuje do systémové lišty, i když je hlavní okno zavřené.

Service Configuration

Níže uvedené pokyny slouží ke konfiguraci serveru PKI Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Zkontrolujte, zda je zaškrtnuto políčko Enable TLS a zda je použit vhodný certifikát.

  4. Change to the Users tab.

  5. Nového uživatele vytvoříte kliknutím na tlačítko New…. Vyberte typ ověření, který je podporován všemi klienty.

  6. Na panelu nabídek hlavního okna klikněte na tlačítko Start a spusťte službu PKI Proxy.

Publish Certificates from the NetHSM

V následujícím textu nastavíme, které certifikáty z NetHSM budou zpřístupněny prostřednictvím serveru PKI Proxy.

  1. Ujistěte se, že je otevřeno hlavní okno serveru PKI Proxy.

  2. Change to the Certificates tab.

  3. Klikněte na tlačítko New…. Tím se otevře okno Akciový certifikát.

  4. Klikněte na tlačítko Select Certificate or Key… v rámu okna Certificate. Tím se otevře okno Select a Private Key.

  5. Přejděte na kartu Security Key.

  6. Klikněte na tlačítko Browse… a vyberte soubor knihovny ovladače NetHSM PKCS#11. V textovém poli PKCS#11 Library se nyní zobrazí cesta k souboru knihovny.

  7. Z rozevírací nabídky Security Key (PKCS#11) vyberte slot, který obsahuje certifikát. Uvedené sloty závisí na konfiguraci modulu PKCS#11.

  8. Click the Open button.

  9. Textový seznam pod Certifikáty nyní zobrazuje seznam dostupných certifikátů a generických klíčů v NetHSM. Vyberte certifikát nebo generický klíč, který chcete sdílet se serverem PKI Proxy.

  10. Výběr potvrďte kliknutím na tlačítko OK. Tím se vrátíte do okna Akciový certifikát. V okně se nyní zobrazí podrobnosti o vybraném certifikátu.

  11. Klikněte na tlačítko Add… v rámu okna Access and Permissions. Tím se otevře okno Select user (Vybrat uživatele).

  12. Z rozbalovací nabídky vyberte existujícího uživatele nebo vytvořte nového výběrem možnosti Create New User…. Výběr potvrďte kliknutím na tlačítko OK. Pokud se rozhodnete vytvořit nového uživatele, zobrazí se poté okno New User (Nový uživatel).

  13. V okně Share Certificate se také ujistěte, že jsou povoleny pouze požadované operace pro certifikát nebo generický klíč. To lze změnit pomocí zaškrtávacích políček ve spodní části rámu Přístup a oprávnění.

  14. Certifikát zveřejníte kliknutím na tlačítko OK. Tím se vrátíte do hlavního okna serveru PKI Proxy.

  15. V textovém seznamu pod stránkou Správa certifikátů se nyní zobrazuje zveřejněný certifikát.

Důležité

Ujistěte se, že mechanismy sdíleného klíče v NetHSM umožňují zamýšlené použití v PKI Proxy.

Proxy server PKI - klient

Klientské nástroje serveru PKI Proxy poskytují různé způsoby přístupu ke sdíleným klíčům a certifikátům ze serveru PKI Proxy.

Tip

Server PKI Proxy obsahuje klientské nástroje. Proto může být počítač, na kterém běží server, také klientem sám sobě.

Instalace

  1. Stáhněte si PKI Proxy 2024 - Client Tools z webové stránky /n software.

  2. Otevřete instalační program a postupujte podle průvodce instalací.

KSP (Key Storage Provider)

Server PKI Proxy poskytuje KSP pro rozhraní se serverem PKI Proxy. KSP umožňuje používat nativní rozhraní API systému Windows s aplikacemi prostřednictvím rozhraní CNG (Cryptography API: Next Generation). Další informace naleznete v dokumentaci k serveru PKI Proxy.

PKCS#11

Server PKI Proxy poskytuje modul PKCS#11 pro rozhraní se serverem PKI Proxy. Další informace naleznete v dokumentaci k serveru PKI Proxy.