Guía de integración de Securosys
Requisitos previos
Para que el motor PKCS#11 funcione correctamente con su HSM Securosys Primus y CodeSign Secure de Encryption Consulting, necesitará algunos elementos clave. Estos son los pasos para instalar los recursos esenciales para configurar el entorno Windows:
1. Proveedor PKCS#11 de Securosys
Se requiere el proveedor PKCS#11 de Securosys (PrimusAPI PKCS#11) para interactuar con el HSM Primus. Esta biblioteca permite la comunicación entre sus aplicaciones y el HSM mediante el estándar PKCS#11.
Pasos de la instalación:
-
Obtenga el enlace de descarga
Acceda al Portal de soporte de Securosys para recuperar el PrimusAPI_PKCS11-Enlace de descarga-v#.txt Archivo que contiene las credenciales de descarga y los detalles de la versión. Necesitará una cuenta en el Portal de Soporte de Securosys. Si no la tiene, contacte con el soporte de Securosys para acceder.
-
Descargar el proveedor
-
Use el comando curl para descargar el paquete del proveedor. Abra el símbolo del sistema y ejecute los siguientes comandos:
establecer USUARIO=support.reader.p11
establecer CRED=
Reemplazar con el valor del archivo de texto.
establecer VERSIÓN=v2.3.4
curl -L -o "PrimusAPI_PKCS11-%VERSION%.zip" https://%USER%:%CRED%@securosys.jfrog.io/artifactory/p11/PrimusAPI_PKCS11-%VERSION%.zip
-
Alternativamente, puede descargar el archivo ZIP directamente desde Securosys JFrog Artifactory usando un navegador aquí
- Nombre de usuario: support.reader.p11
- Contraseña: toma el valor del archivo PrimusAPI_PKCS11-DownloadLink-v#.txt.
-
-
Instalar el proveedor
- Extraiga el archivo ZIP descargado y ubique el instalador MSI (por ejemplo, PrimusAPI_PKCS11--win64.msi) en la carpeta extraída.
- Haga doble clic en el archivo MSI para ejecutar el instalador y siga las instrucciones para instalar, asegurándose de instalar en la ubicación predeterminada (C:\Program Files\Securosys\Primus P11) a menos que se solicite lo contrario.
Nota: Realice una copia de seguridad de los archivos de configuración primus.cfg y .secrets.cfg existentes en el directorio de instalación, ya que el instalador puede sobrescribirlos.
-
Configurar variable de entorno
Agregue la ubicación del directorio de los archivos instalados a la RUTA del sistema para un acceso más fácil.
C:\Archivos de programa\Securosys\Primus P11
-
Verificación
Abra un nuevo símbolo del sistema y ejecute el siguiente comando para probar las herramientas instaladas:
ppin-v
2. OpenSSL 3.x
Se requiere OpenSSL 3.x para operaciones criptográficas y para aprovechar el proveedor PKCS#11 con Securosys HSM.
Pasos de la instalación:
-
Descargar OpenSSL
Descargue el último instalador de OpenSSL 3.x de 64 bits para Windows usando este este enlace.
-
Instalar OpenSSL
- Ejecute el instalador descargado con privilegios administrativos.
- Elija el directorio de instalación predeterminado (C:\Archivos de programa\OpenSSL-Win64) a menos que tenga requisitos específicos.
-
Configurar variable de entorno
Agregue el directorio binario OpenSSL a la RUTA del sistema:
C:\Archivos de programa\OpenSSL-Win64\bin
-
Verificación
Abra un nuevo símbolo del sistema y ejecute el siguiente comando para probar la instalación de openssl.
versión openssl
3. Herramienta OpenSC PKCS11
La herramienta PKCS#11 de OpenSC proporciona utilidades como pkcs11-tool para administrar claves y realizar operaciones en el HSM a través de la interfaz PKCS#11.
Pasos de la instalación:
-
Descargar OpenSC
Descargue el último instalador de OpenSC para Windows desde la página de lanzamientos de OpenSC en GitHub aquí.
-
Instalar OpenSC
Ejecute el instalador MSI como administrador en la ubicación predeterminada (C:\Archivos de programa\Proyecto OpenSC\OpenSC).
-
Configurar variable de entorno
Agregue el directorio de herramientas OpenSC a la RUTA del sistema:
C:\Archivos de programa\Proyecto OpenSC\OpenSC\tools\
-
Verificación
Abra un nuevo símbolo del sistema y ejecute el siguiente comando para probar pkcs11-tool
herramienta pkcs11 --versión
4. Herramientas de compilación de Microsoft Visual Studio
Se requieren las herramientas de compilación de Microsoft Visual Studio para compilar la biblioteca contenedora OpenSC PKCS#11 (libp11) en Windows.
Pasos de la instalación:
-
Descargar herramientas de compilación de Visual Studio
Descargue Microsoft Build Tools para Visual Studio 2022 usando esto este enlace.
-
Instalar herramientas de compilación
Ejecute el instalador (vs_buildtools.exe) con privilegios administrativos.
-
Verificar instalación
Abra el “Símbolo del sistema de herramientas nativas x64” desde el menú Inicio y ejecute
nmake/?
Esto debería mostrar la ayuda de la utilidad nmake, confirmando que las herramientas de compilación están instaladas.
NOTA: El “Símbolo del sistema de x64 Native Tools” debe estar presente dentro de C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio Tools\VC
5. Biblioteca de envoltorios PKCS#11 de OpenSC
La biblioteca contenedora OpenSC PKCS#11 (libp11) proporciona el complemento del motor PKCS#11 (pkcs11.dll) para que OpenSSL interactúe con el HSM.
Pasos de la instalación:
-
Descargar el código fuente
- Clone el repositorio OpenSC/libp11 desde GitHub o descárguelo como un archivo ZIP.
- Clonar usando Git (si está instalado):
- O descargue el ZIP desde aquí este enlace y extraerlo a C:\Users\ \fuente\repos\libp11.
clon git https://github.com/OpenSC/libp11.git C:\Usuarios\ \fuente\repos\libp11
-
Compilar la biblioteca
- Abra el “Símbolo del sistema de herramientas nativas x64”.
- Navegue hasta el directorio libp11
- Ejecute el comando nmake para compilar la biblioteca
cd “C:\Usuarios\\fuente\repositorios\libp11”
nmake /f Makefile.mak OPENSSL_DIR="C:\Archivos de programa\OpenSSL-Win64" COMPILACIÓN_PARA=WIN64
NOTA: Asegúrese de que OPENSSL_DIR apunte a su directorio de instalación de OpenSSL.
-
Verificar compilación
Busque el archivo pkcs11.dll en la carpeta libp11\src. Este es el complemento del motor PKCS#11 de OpenSC.
-
Copiar la carpeta SRC
Copie la carpeta src que acaba de crear en su directorio bin de OpenSSL, es decir, C:\Program Files\OpenSSL-Win64\bin
Configuration
Después de instalar los requisitos previos, debe configurar el proveedor Securosys PKCS#11, OpenSSL y la biblioteca OpenSC PKCS#11 Wrapper para habilitar la comunicación con su HSM Securosys Primus.
1. Configurar el proveedor PKCS#11 de Securosys
El proveedor Securosys PKCS#11 requiere archivos de configuración (primus.cfg y .secrets.cfg) para especificar los detalles de conexión del HSM, como la dirección IP, el puerto, los secretos y la configuración de registro.
Pasos:
-
Localice el archivo de configuración (primus.cfg)
Navegue hasta el directorio de instalación del proveedor Securosys PKCS#11, normalmente:
C:\Archivos de programa\Securosys\Primus P11
-
Editar la SECCIÓN DE CONFIGURACIÓN DEL HSM con Detalles del HSM
- Abra primus.cfg en un editor de texto con privilegios administrativos.
- Agregue o actualice la siguiente configuración dentro de la “SECCIÓN DE CONFIGURACIÓN DE HSM”, reemplazando los marcadores de posición con los detalles de su HSM:
hsm0 : { host = "NOMBRE DE HOST HSM (como a-api.cloudshsm.com)"; puerto = "PUERTO HSM (como 2310)"; ranuras: { ranura0: { id_cliente = "ID_cliente1 (como Cliente_0)"; nombre_usuario = "NOMBRE_PARTICIÓN1"; usuario_proxy = "USUARIO_SERVICIO"; /* o eliminar si no se necesita proxy */ id = 1; }; /* fin ranura0 */ ranura1: { id_cliente = "ID_cliente2"; nombre_usuario = "NOMBRE_PARTICIÓN2"; usuario_proxy = "USUARIO_SERVICIO"; /* o eliminar si no se necesita proxy */ id = 2; }; /* fin ranura1 */ }; /* fin ranuras */ }; /* fin hsm0 */ -
Editar la SECCIÓN DE CONFIGURACIÓN DEL REGISTRO con los detalles del registro
Agregue o actualice la siguiente configuración dentro de la “SECCIÓN DE CONFIGURACIÓN DEL REGISTRO”, reemplazando los marcadores de posición con sus detalles de registro:
log : { file = "C:\Archivos de programa\Securosys\Primus P11\primus.log"; /* opcional para Windows */ trace_linenumber = false; trace_timestamp = true; trace_function = true; trace_inout = false; trace_pid = true; trace_filename = false; trace_mask = 0x01; trace_level = 6; /* detalles de nivel de registro 0-7 */ }; /* fin de registro */ -
Configuración del secreto permanente en el archivo .secrets.cfg
- Abra un símbolo del sistema y navegue hasta el directorio Primus P11 (si no está configurado en la ruta de la variable de entorno) usando el siguiente comando:
- Reemplace el valor del marcador de posición con el valor de nombre de usuario HSM que haya configurado en el archivo primus.cfg y ejecute el siguiente comando:
cd C:\Archivos de programa\Securosys\Primus P11
ppin -a -e
Configure el PKCS11_PIN para el HSM_USERNAME mencionado
NOTA: Asegúrese de tener permisos de lectura y escritura para modificar el archivo .secrets.cfg con un secreto permanente.
-
Verificar la conexión con HSM
- Abra un símbolo del sistema y navegue hasta el directorio Primus P11 (si no está configurado en la ruta de la variable de entorno) usando el siguiente comando:
- Ejecute la herramienta ppin para probar la conexión HSM:
cd C:\Archivos de programa\Securosys\Primus P11
ppin-t
2. Configurar OpenSSL para utilizar el motor PKCS#11
OpenSSL debe configurarse para cargar el proveedor Securosys PKCS#11 (primusP11.dll) y el complemento del motor OpenSC PKCS#11 (pkcs11.dll) para realizar operaciones criptográficas con el HSM.
Pasos:
-
Localice el archivo de configuración de OpenSSL (openssl.cfg)
Encuentre el archivo de configuración de OpenSSL:
C:\Archivos de programa\Archivos comunes\SSL
-
Editar la configuración de OpenSSL
- Abra openssl.cfg en un editor de texto con privilegios administrativos.
- Agregue lo siguiente en la parte superior del archivo para habilitar la carga dinámica del motor:
- Agregue lo siguiente al final del archivo para configurar el motor PKCS#11:
openssl_conf = openssl_init
[openssl_init] motores = sección_motor [sección_motor] pkcs11 = sección_pkcs11 [sección_pkcs11] id_motor = pkcs11 ruta_dinámica = "C:\\Archivos de programa\\OpenSSL-Win64\\src\\pkcs11.dll" RUTA_MÓDULO = "C:\\Archivos de programa\\Securosys\\Primus P11\\primusP11.dll" PIN = "PKCS11_PIN" init = 0
Ruta dinámica: Ruta al complemento del motor OpenSC PKCS#11 (pkcs11.dll) compilado en los requisitos previos.
RUTA DEL MÓDULO: Ruta a la DLL del proveedor PKCS#11 de Securosys.
PIN: Valor PKCS11_PIN para el nombre de usuario/partición HSM requeridos durante los pasos de secreto permanente.
-
Verificar la configuración y la conexión de OpenSSL
- Abra un símbolo del sistema y ejecute:
-
El resultado esperado confirma que el motor PKCS#11 está disponible:
(pkcs11) Motor PKCS#11
[ disponible ]
motor openssl pkcs11 -t
3. Pruebe la interfaz PKCS#11 con pkcs11-tool
Utilice la herramienta pkcs11 de OpenSC para verificar que la interfaz PKCS#11 pueda comunicarse con el HSM.
Pasos:
-
Ejecutar pkcs11-tool
- Abra un símbolo del sistema y navegue hasta el directorio de herramientas de OpenSC, si no está configurado en la ruta de la variable de entorno:
- Ejecute el siguiente comando para enumerar las ranuras disponibles en el HSM:
cd “C:\Archivos de programa\Proyecto OpenSC\OpenSC\tools”
pkcs11-tool --module "C:\Archivos de programa\Securosys\Primus P11\primusP11.dll" --list-slots
4. Configurar CodeSign Secure
CodeSign Secure requiere configuración para conectarse al HSM Securosys Primus y realizar operaciones de firma de código segura. El archivo app-config.properties especifica los detalles necesarios para una conexión correcta al HSM Securosys Primus.
Pasos:
-
Localice el archivo app-config.properties
Navegue a la carpeta CertificateManagement dentro del directorio de instalación de CodeSign Secure y localice el archivo app-config.properties, normalmente:
C:\CodeSignSecure\src\CertificateManagement
-
Actualizar los campos de detalles del HSM
- Abra app-config.properties en un editor de texto con privilegios administrativos.
- Actualice los siguientes campos, reemplazando los marcadores de posición con los detalles de su conexión HSM:
- Guarde el archivo con los detalles modificados.
RUTA DE LA LIBRO DE HSM SECUROSYS= PIN_HSM_SECUROSYS= Seguridad del token HSM SECUROSYS DE RANURA HSM=
