Windows KSP и PKCS#11 с PKI Proxy¶
Този документ обяснява използването на PKI Proxy с NetHSM. PKI Proxy дава възможност за използване на NetHSM чрез местните API на Microsoft Windows. За тази цел PKI Proxy включва KSP (Key Storage Provider), който позволява използването му чрез интерфейса CNG (Cryptography API: Next Generation). Освен това той осигурява достъп до PKCS#11 до NetHSM, но това трябва да се използва само ако настройката ви го изисква, например ако се нуждаете от допълнителните функции за удостоверяване на PKI Proxy или искате да използвате PKI Proxy като шлюз, за да избегнете директното излагане на NetHSM на клиентите. Във всички останали случаи използвайте директно драйвера NetHSM PKCS#11.
Внедряването на NetHSM с PKI Proxy изглежда по следния начин.
NetHSM предоставя REST API, който се използва от драйвера PKCS#11 на NetHSM. PKI Proxy използва този драйвер, за да се свърже с NetHSM и да получи достъп до неговите ключове и сертификати. Клиентите на PKI Proxy използват REST API на сървъра PKI Proxy, за да получат достъп до ключовете и сертификатите. Приложенията на клиента могат да използват родния API на Windows или драйвер PKCS#11. Комуникацията между NetHSM и PKI Proxy сървъра и PKI Proxy клиентите е криптирана. PKI Proxy сървърът и клиентът могат да се изпълняват на един и същ компютър.
Възможните случаи на използване на тази настройка са:
Code signing
Document signing
Tip
За повече информация вижте и официалната документация на PKI Proxy.
Prerequisits¶
NetHSM (хардуерен или контейнерен) - Провизиран - IP адресът на NetHSM трябва да е известен и портът HTTPS трябва да е достъпен.
Машина с Windows - инсталиран и конфигуриран драйвер Nitrokey NetHSM PKCS#11 (изисква се само за PKI Proxy Server).
Important
На някои машини PKI Proxy Server може да се срине по време на процедурата за разтоварване на модула PKCS#11 на NetHSM. Това е грешка в зависимост на модула и е проследена в този проблем на GitHub. Ако се сблъскате с този бъг, моля, задайте disable_thread_pool конфигурационна опция на true в конфигурационния файл на NetHSM PKCS#11. Моля, направете справка с примерния конфигурационен файл ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __ за по-добро разбиране как да го конфигурирате.
PKI Proxy - сървър¶
Сървърът PKI Proxy споделя ключовете и сертификатите от NetHSM за различни потребители.
Инсталиране на приложението Nitrokey¶
Download the PKI Proxy 2024 installer from the /n software website.
Отворете инсталатора и следвайте съветника за инсталиране.
Отворете PKI Proxy от менюто Start. Ако сте го инсталирали на мястото по подразбиране, можете да го стартирате и със следната команда от диалоговия прозорец Run или PowerShell.
C:\Program Files\PKI Proxy 2024\PKIProxy.exeNote
PKI Proxy ще се минимизира в системната тава, дори ако основният прозорец е затворен.
Service Configuration¶
Инструкциите по-долу конфигурират PKI Proxy.
Open the PKI Proxy main window.
Change to the Settings tab.
Уверете се, че квадратчето за отметка Enable TLS е поставено и е използван подходящ сертификат.
Change to the Users tab.
Създайте нов потребител, като щракнете върху бутона New…. Изберете тип удостоверяване, който се поддържа от всички клиенти.
В лентата с менюта на главния прозорец щракнете върху бутона Start, за да стартирате услугата PKI Proxy.
Publish Certificates from the NetHSM¶
По-долу ще конфигурираме кои сертификати от NetHSM да бъдат достъпни чрез PKI Proxy.
Уверете се, че основният прозорец на PKI Proxy е отворен.
Change to the Certificates tab.
Щракнете върху бутона New…. Това ще отвори прозореца Share Certificate (Сертификат за акции).
Щракнете върху бутона Select Certificate or Key… (Изберете сертификат или ключ…), в рамката Certificate (Сертификат) на прозореца. Това ще отвори прозореца Select a Private Key (Изберете частен ключ).
Преминете към раздела Security Key.
Щракнете върху бутона Browse… (Преглед…) и изберете файла на библиотеката на драйвера NetHSM PKCS#11. Текстовото поле PKCS#11 Library сега показва пътя до файла на библиотеката.
От падащото меню Security Key (PKCS#11) изберете слота, който съдържа сертификата. Изброените слотове зависят от конфигурацията на модула PKCS#11.
Click the Open button.
Текстовият списък под Certificates (Сертификати) сега показва списък на наличните сертификати и общи ключове в NetHSM. Изберете сертификата или общия ключ, който искате да споделите с PKI Proxy.
Щракнете върху бутона OK, за да потвърдите избора. Това ще ви върне в прозореца Share Certificate (Сертификат за акции). Сега в прозореца ще бъдат показани подробностите за избрания сертификат.
Щракнете върху бутона Add… (Добавяне…) в рамката Access and Permissions (Достъп и разрешения) на прозореца. Това ще отвори прозореца Select user (Изберете потребител).
Изберете съществуващ потребител от падащото меню или създайте нов, като изберете Create New User…. Щракнете върху бутона OK, за да потвърдите избора. Ако изберете да създадете нов потребител, след това ще се покаже прозорецът New User (Нов потребител).
Обратно в прозореца Share Certificate също се уверете, че сте разрешили само необходимите операции за сертификата или общия ключ. Това може да се промени с помощта на квадратчетата за отметка в долната част на рамката Access and Permissions (Достъп и разрешения).
Щракнете върху бутона OK, за да публикувате сертификата. Това ще ви върне в главния прозорец на PKI Proxy.
Текстовият списък под Certificate Management вече показва публикувания сертификат.
Important
Уверете се, че механизмите на споделения ключ в NetHSM позволяват предвиденото използване в PKI Proxy.
PKI Proxy - клиент¶
Клиентските инструменти на PKI Proxy предоставят различни начини за достъп до споделените ключове и сертификати от сървъра PKI Proxy.
Tip
Сървърът PKI Proxy съдържа клиентските инструменти. Следователно машината, на която работи сървърът, може да бъде и клиент за себе си.
Инсталиране на приложението Nitrokey¶
Изтеглете PKI Proxy 2024 - Client Tools от уебсайта /n software.
Отворете инсталатора и следвайте съветника за инсталиране.
KSP (Key Storage Provider)¶
PKI Proxy предоставя KSP за връзка със сървъра PKI Proxy. KSP дава възможност за използване на местни API на Windows с приложения чрез интерфейса CNG (Cryptography API: Next Generation). За повече информация вижте документацията на PKI Proxy.
PKCS#11¶
PKI Proxy предоставя модул PKCS#11 за връзка със сървъра PKI Proxy. За повече информация вижте документацията на PKI Proxy.