Windows KSP og PKCS#11 med PKI Proxy

Dette dokument forklarer brugen af PKI Proxy med NetHSM. PKI Proxy gør det muligt at bruge NetHSM via de oprindelige Microsoft Windows API’er. Til dette formål indeholder PKI Proxy en KSP (Key Storage Provider), der gør det muligt at bruge den via CNG-grænsefladen (Cryptography API: Next Generation). Derudover giver den PKCS#11-adgang til NetHSM, men dette bør kun bruges, hvis din opsætning kræver det, for eksempel hvis du har brug for de ekstra godkendelsesfunktioner i PKI Proxy, eller hvis du vil bruge PKI Proxy som en gateway for at undgå at eksponere NetHSM direkte for klienter. I alle andre tilfælde skal du bruge NetHSM PKCS#11-driveren direkte.

Implementeringen af NetHSM med PKI Proxy ser således ud.

Forbindelse mellem NetHSM og PKI Proxy Server, klient og eksponerede klientgrænseflader.

NetHSM leverer REST API, som bruges af NetHSM PKCS#11-driveren. PKI Proxy bruger denne driver til at oprette forbindelse til NetHSM og få adgang til dens nøgler og certifikater. Klienter til PKI Proxy bruger PKI Proxy-serverens REST API til at få adgang til nøgler og certifikater. Applikationer på klienten kan enten bruge den oprindelige Windows-API eller en PKCS#11-driver. Kommunikationen mellem NetHSM og PKI Proxy-serveren og PKI Proxy-klienterne er krypteret. PKI Proxy-server og -klient kan afvikles på den samme computer.

Mulige brugsscenarier for denne opsætning er:

  • Code signing

  • Document signing

Tip

Se også den officielle PKI Proxy-dokumentation for mere information.

Prerequisits

  • NetHSM (hardware eller container) - Provisioned - IP-adressen på NetHSM skal være kendt, og HTTPS-porten skal kunne nås.

  • Windows-maskine - Nitrokey NetHSM PKCS#11-driver installeret og konfigureret (kun påkrævet på PKI Proxy Server).

Vigtigt

På nogle maskiner kan PKI Proxy Server gå ned under aflæsningsproceduren for NetHSM PKCS#11-modulet. Dette er en fejl i en afhængighed af modulet og spores i dette GitHub-problem. Hvis du støder på denne fejl, skal du indstille disable_thread_pool konfigurationsmulighed til true i din NetHSM PKCS#11-konfigurationsfil. Se venligst eksempel på en konfigurationsfil for at få en bedre forståelse af, hvordan den skal konfigureres.

PKI Proxy - Server

PKI Proxy-serveren deler nøgler og certifikater fra en NetHSM til forskellige brugere.

Installation

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

  2. Åbn installationsprogrammet, og følg installationsguiden.

  3. Åbn PKI Proxy fra Start-menuen. Hvis du har installeret den på standardplaceringen, kan du også køre den med følgende kommando fra dialogen Run eller PowerShell.

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

    Bemærk

    PKI Proxy minimeres til systembakken, selv om hovedvinduet er lukket.

Service Configuration

Instruktionerne nedenfor konfigurerer PKI Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Sørg for, at afkrydsningsfeltet Enable TLS er markeret, og at der bruges et passende certifikat.

  4. Change to the Users tab.

  5. Opret en ny bruger ved at klikke på knappen New…. Vælg en godkendelsestype, som understøttes af alle klienter.

  6. Klik på knappen Start i hovedvinduets menulinje for at starte PKI Proxy-tjenesten.

Publish Certificates from the NetHSM

I det følgende konfigurerer vi, hvilke certifikater fra NetHSM der gøres tilgængelige via PKI Proxy.

  1. Sørg for, at hovedvinduet i PKI Proxy er åbent.

  2. Change to the Certificates tab.

  3. Klik på knappen New…. Dette åbner vinduet Share Certificate.

  4. Klik på knappen Select Certificate or Key… i rammen Certificate i vinduet. Dette åbner vinduet Select a Private Key.

  5. Skift til fanen Security Key.

  6. Klik på knappen Browse…, og vælg NetHSM PKCS#11-driverens biblioteksfil. Tekstfeltet PKCS#11 Library viser nu stien til biblioteksfilen.

  7. I rullemenuen Security Key (PKCS#11) skal du vælge den plads, der indeholder certifikatet. De angivne pladser afhænger af din konfiguration af PKCS#11-modulet.

  8. Click the Open button.

  9. Tekstlisten under Certificates viser nu en liste over de tilgængelige certifikater og generiske nøgler på NetHSM. Vælg det certifikat eller den generiske nøgle, du vil dele med PKI Proxy.

  10. Klik på knappen OK for at bekræfte valget. Dette bringer dig tilbage til vinduet Share Certificate. Vinduet viser nu detaljerne for det valgte certifikat.

  11. Klik på knappen Add… i rammen Access and Permissions i vinduet. Dette åbner vinduet Vælg bruger.

  12. Vælg en eksisterende bruger i rullemenuen, eller opret en ny ved at vælge Create New User…. Klik på knappen OK for at bekræfte valget. Hvis du vælger at oprette en ny bruger, vises vinduet New User bagefter.

  13. Tilbage i vinduet Share Certificate skal du også sørge for kun at tillade de nødvendige handlinger for certifikatet eller den generiske nøgle. Dette kan ændres med afkrydsningsfelterne i bunden af Access and Permissions frame.

  14. Klik på knappen OK for at udgive certifikatet. Dette bringer dig tilbage til hovedvinduet i PKI Proxy.

  15. Tekstlisten under Certificate Management viser nu det offentliggjorte certifikat.

Vigtigt

Sørg for, at mekanismerne for den delte nøgle på NetHSM tillader den tilsigtede brug i PKI Proxy.

PKI Proxy - Klient

PKI Proxy-klientværktøjerne giver forskellige måder at få adgang til de delte nøgler og certifikater fra en PKI Proxy-server.

Tip

PKI Proxy-serveren indeholder klientværktøjerne. Derfor kan den maskine, der kører serveren, også være en klient for sig selv.

Installation

  1. Download PKI Proxy 2024 - Client Tools fra /n software-webstedet.

  2. Åbn installationsprogrammet, og følg installationsguiden.

KSP (Key Storage Provider)

PKI Proxy leverer en KSP til grænsefladen med PKI Proxy-serveren. KSP’en gør det muligt at bruge oprindelige Windows-API’er med applikationer gennem CNG-grænsefladen (Cryptography API: Next Generation). Se dokumentationen til PKI Proxy for mere information.

PKCS#11

PKI Proxy indeholder et PKCS#11-modul til at interface med PKI Proxy-serveren. Se venligst PKI Proxy-dokumentation for mere information.