Windows KSP и PKCS#11 с PKI Proxy

This document explains the usage of PKI Proxy with HSM 2. PKI Proxy enables the usage of HSM 2 through the native Microsoft Windows APIs. For this purpose, PKI Proxy includes a KSP (Key Storage Provider) that enables its use via the CNG (Cryptography API: Next Generation) interface. Additionally it provides PKCS#11 access to the HSM 2, but this should only be used if your setup requires it for example if you need the additional authentication features of PKI Proxy, or if you need to access it from a remote machine running an application that only supports PKCS#11. In all other cases use the PKCS#11 driver from the OpenSC project directly.

The deployment of HSM 2 with PKI Proxy looks like this.

Connection between HSM 2 and PKI Proxy Server, Client and exposed client interfaces.

The HSM 2 is connected via its USB interface to the PKI Proxy server. PKI Proxy uses the OpenSC PKCS#11 driver to connect to the HSM 2 and access its keys and certificates. Clients to the PKI Proxy use the REST API of the PKI Proxy server to access the keys and certificates. Applications on the client can either use the native Windows API or a PKCS#11 driver. PKI Proxy server and client can be executed on the same computer.

Възможните случаи на използване на тази настройка са:

  • Code signing

  • Document signing

Tip

За повече информация вижте и официалната документация на PKI Proxy.

Предварителни условия

  • HSM 2

    • Initialized

    • Provisioned with keys and certificates

  • Windows machine

    • OpenSC PKCS#11 driver installed (only required on the PKI Proxy Server).

PKI Proxy - сървър

The PKI Proxy server shares the keys and certificates from a HSM 2 for different users.

Инсталиране на приложението Nitrokey

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

  2. Отворете инсталатора и следвайте съветника за инсталиране.

  3. Отворете PKI Proxy от менюто Start. Ако сте го инсталирали на мястото по подразбиране, можете да го стартирате и със следната команда от диалоговия прозорец Run или PowerShell.

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

    Note

    PKI Proxy ще се минимизира в системната тава, дори ако основният прозорец е затворен.

Service Configuration

Инструкциите по-долу конфигурират PKI Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Make sure the checkbox Enable TLS is checked and an appropriate certificate is used.

  4. Change to the Users tab.

  5. Създайте нов потребител, като щракнете върху бутона New…. Изберете тип удостоверяване, който се поддържа от всички клиенти.

  6. В лентата с менюта на главния прозорец щракнете върху бутона Start, за да стартирате услугата PKI Proxy.

Publish Certificates from the HSM 2

In the following we configure which certificates from the HSM 2 are made available through PKI Proxy.

  1. Уверете се, че основният прозорец на PKI Proxy е отворен.

  2. Change to the Certificates tab.

  3. Щракнете върху бутона New…. Това ще отвори прозореца Share Certificate (Сертификат за акции).

  4. Щракнете върху бутона Select Certificate or Key… (Изберете сертификат или ключ…), в рамката Certificate (Сертификат) на прозореца. Това ще отвори прозореца Select a Private Key (Изберете частен ключ).

  5. Преминете към раздела Security Key.

  6. Click the Browse… button and select the OpenSC PKCS#11 driver library file. The text field PKCS#11 Library now shows the path to the library file.

  7. From the dropdown menu Security Key (PKCS#11) choose the slot which contains the certificate. The listed slots depend on your configuration of the HSM 2.

  8. В текстовото поле „ “ (ПИН за) въведете ПИН-кода за вашия HSM 2.

  9. Click the Open button.

  10. The text list below Certificates now shows a list of the available certificates and generic keys on the HSM 2. Select the certificate or generic key you want to share with PKI Proxy.

  11. Щракнете върху бутона OK, за да потвърдите избора. Това ще ви върне в прозореца Share Certificate (Сертификат за акции). Сега в прозореца ще бъдат показани подробностите за избрания сертификат.

  12. Щракнете върху бутона Add… (Добавяне…) в рамката Access and Permissions (Достъп и разрешения) на прозореца. Това ще отвори прозореца Select user (Изберете потребител).

  13. Изберете съществуващ потребител от падащото меню или създайте нов, като изберете Create New User…. Щракнете върху бутона OK, за да потвърдите избора. Ако изберете да създадете нов потребител, след това ще се покаже прозорецът New User (Нов потребител).

  14. Обратно в прозореца Share Certificate също се уверете, че сте разрешили само необходимите операции за сертификата или общия ключ. Това може да се промени с помощта на квадратчетата за отметка в долната част на рамката Access and Permissions (Достъп и разрешения).

  15. Щракнете върху бутона OK, за да публикувате сертификата. Това ще ви върне в главния прозорец на PKI Proxy.

  16. Текстовият списък под Certificate Management вече показва публикувания сертификат.

PKI Proxy - клиент

Клиентските инструменти на PKI Proxy предоставят различни начини за достъп до споделените ключове и сертификати от сървъра PKI Proxy.

Tip

Сървърът PKI Proxy съдържа клиентските инструменти. Следователно машината, на която работи сървърът, може да бъде и клиент за себе си.

Инсталиране на приложението Nitrokey

  1. Изтеглете PKI Proxy 2024 - Client Tools от уебсайта /n software.

  2. Отворете инсталатора и следвайте съветника за инсталиране.

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.