Windows KSP y PKCS#11 con PKI Proxy¶
Este documento explica el uso de PKI Proxy con NetHSM. PKI Proxy permite el uso de NetHSM a través de las API nativas de Microsoft Windows. Para ello, PKI Proxy incluye un KSP (proveedor de almacenamiento de claves) que permite su uso a través de la interfaz CNG (Cryptography API: Next Generation). Además, proporciona acceso PKCS#11 a NetHSM, pero esto sólo debe utilizarse si su configuración lo requiere, por ejemplo, si necesita las funciones de autenticación adicionales de PKI Proxy o si desea utilizar PKI Proxy como pasarela para evitar exponer NetHSM a los clientes directamente. En todos los demás casos, utilice directamente el controlador PKCS#11 de NetHSM ` <pkcs11-setup.html>` __.
El despliegue de NetHSM con PKI Proxy tiene el siguiente aspecto.
NetHSM proporciona la API REST que utiliza el controlador PKCS#11 de NetHSM. PKI Proxy utiliza este controlador para conectarse a NetHSM y acceder a sus claves y certificados. Los clientes del PKI Proxy utilizan la API REST del servidor PKI Proxy para acceder a las claves y certificados. Las aplicaciones en el cliente pueden utilizar la API nativa de Windows o un controlador PKCS#11. La comunicación entre el servidor NetHSM y PKI Proxy y los clientes PKI Proxy está cifrada. El servidor PKI Proxy y el cliente pueden ejecutarse en el mismo ordenador.
Los posibles casos de uso de esta configuración son:
Code signing
Document signing
Truco
Consulte también la documentación oficial de PKI Proxy para obtener más información.
Prerequisits¶
NetHSM (hardware o en contenedor) - Aprovisionado - La dirección IP del NetHSM debe ser conocida, y el puerto HTTPS debe ser accesible.
Máquina Windows: controlador NetHSM PKCS#11 de Nitrokey instalado y configurado (sólo es necesario en el servidor proxy PKI).
Importante
En algunos equipos, el servidor proxy PKI puede bloquearse durante el procedimiento de descarga del módulo NetHSM PKCS#11. Se trata de un error en una dependencia del módulo y se rastrea en esta incidencia de GitHub. Si encuentra este error, establezca la opción de configuración disable_thread_pool en true en el archivo de configuración de NetHSM PKCS#11. Consulte el archivo de configuración de ejemplo ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __ para comprender mejor cómo configurarlo.
Proxy PKI - Servidor¶
El servidor proxy PKI comparte las claves y certificados de un NetHSM para distintos usuarios.
Instalación¶
Download the PKI Proxy 2024 installer from the /n software website.
Abra el instalador y siga el asistente de instalación.
Abra PKI Proxy desde el menú Inicio. Si lo instaló en la ubicación predeterminada, también puede ejecutarlo con el siguiente comando desde el cuadro de diálogo Ejecutar o PowerShell.
C:\Program Files\PKI Proxy 2024\PKIProxy.exeNota
PKI Proxy se minimizará a la bandeja del sistema, incluso si la ventana principal está cerrada.
Service Configuration¶
Las instrucciones siguientes configuran el proxy PKI.
Open the PKI Proxy main window.
Change to the Settings tab.
Asegúrese de que la casilla Habilitar TLS está marcada y se utiliza un certificado apropiado.
Change to the Users tab.
Cree un nuevo usuario haciendo clic en el botón New…. Elija un tipo de autenticación compatible con todos los clientes.
En la barra de menús de la ventana principal, haga clic en el botón Iniciar para iniciar el servicio PKI Proxy.
Publish Certificates from the NetHSM¶
A continuación configuramos qué certificados de NetHSM están disponibles a través de PKI Proxy.
Asegúrese de que la ventana principal del Proxy PKI está abierta.
Change to the Certificates tab.
Haga clic en el botón Nuevo…. Se abrirá la ventana Certificado de acciones.
Haga clic en el botón Seleccionar certificado o clave…, en el marco Certificado de la ventana. Se abrirá la ventana Seleccionar una clave privada.
Cambie a la pestaña Security Key.
Haga clic en el botón Examinar… y seleccione el archivo de biblioteca del controlador PKCS#11 de NetHSM. El campo de texto PKCS#11 Library muestra ahora la ruta al archivo de biblioteca.
En el menú desplegable Clave de seguridad (PKCS#11) elija la ranura que contiene el certificado. Las ranuras de la lista dependen de la configuración del módulo PKCS#11.
Click the Open button.
La lista de texto situada debajo de Certificates muestra ahora una lista de los certificados y claves genéricas disponibles en el NetHSM. Seleccione el certificado o la clave genérica que desea compartir con el Proxy PKI.
Haga clic en el botón OK para confirmar la selección. Volverá a la ventana Certificado de acciones. La ventana mostrará ahora los detalles del certificado seleccionado.
Haga clic en el botón Añadir…, en el marco Acceso y permisos de la ventana. Se abrirá la ventana Seleccionar usuario.
Seleccione un usuario existente en el menú desplegable, o cree uno nuevo eligiendo Crear nuevo usuario…. Haga clic en el botón OK para confirmar la selección. Si elige crear un nuevo usuario, a continuación se mostrará la ventana Nuevo usuario.
De vuelta a la ventana Compartir certificado asegúrese también de permitir sólo las operaciones requeridas para el certificado o la clave genérica. Esto se puede cambiar con las casillas de verificación de la parte inferior del marco Access and Permissions.
Haga clic en el botón OK para publicar el certificado. Volverá a la ventana principal de PKI Proxy.
La lista de texto situada bajo Certificate Management muestra ahora el certificado publicado.
Importante
Asegúrese de que los mecanismos de la clave compartida en el NetHSM permiten el uso previsto en PKI Proxy.
Proxy PKI - Cliente¶
Las herramientas cliente del Proxy PKI proporcionan diferentes formas de acceder a las claves y certificados compartidos desde un servidor Proxy PKI.
Truco
El servidor proxy PKI contiene las herramientas cliente. Por lo tanto, la máquina que ejecuta el servidor también puede ser un cliente para sí misma.
Instalación¶
Descargue PKI Proxy 2024 - Client Tools del sitio web del software /n.
Abra el instalador y siga el asistente de instalación.
KSP (Key Storage Provider)¶
PKI Proxy proporciona un KSP para interactuar con el servidor PKI Proxy. El KSP permite el uso de API nativas de Windows con aplicaciones, a través de la interfaz CNG (Cryptography API: Next Generation). Consulte la documentación de PKI Proxy para obtener más información.
PKCS#11¶
PKI Proxy proporciona un módulo PKCS#11 para interactuar con el servidor PKI Proxy. Consulte la documentación de PKI Proxy para obtener más información.