Integración#

El capítulo describe procesos para diversas tareas y se dirige a todos los grupos de usuarios.

PKCS#11#

El NetHSM soporta el estándar PKCS#11. El controlador necesario está disponible en el repositorio ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. El repositorio contiene el código fuente y las bibliotecas para diferentes sistemas operativos. La guía PKCS#11 describe el uso en detalle.

Desarrollo y pruebas#

Hay disponible una instancia pública de demostración de NetHSM en nethsmdemo.nitrokey.com. Se reiniciará cada ocho horas (CET 6:00, 14:00, 22:00). Usuario «admin», contraseña «adminadmin», contraseña de desbloqueo «unlockunlock».

Como alternativa, puede ejecutar NetHSM como un contenedor Docker ` <https://hub.docker.com/r/nitrokey/nethsm>`_ localmente.

El contenedor puede ejecutarse del siguiente modo.

$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing

Esto proporcionará la API REST en el puerto 8443 a través del protocolo HTTPS.

Importante

El contenedor utiliza un certificado TLS autofirmado. Asegúrese de utilizar la configuración de conexión correcta para establecer una conexión. Consulte el capítulo Introducción a NetHSM para obtener más información.

Integración en la aplicación personalizada#

Para integrar el NetHSM en aplicaciones propias personalizadas, existen bibliotecas cliente para casi todos los lenguajes de programación. Aquí están las bibliotecas para Rust y Python. Para todos los demás lenguajes de programación recomendamos utilizar OpenAPI Generator.

La lista de todos los idiomas disponibles se puede recuperar de la siguiente manera.

$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable

El cliente NetHSM puede ser generado para su lenguaje de programación de la siguiente manera.

$ docker run --rm -ti -v "${PWD}/out:/out" openapitools/openapi-generator-cli generate -i=https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml -o out -g javascript

El código cliente generado, en este ejemplo JavaScript, se creará en el directorio ./out/. Esta carpeta también contiene la documentación necesaria para su uso.

Importante

Si Podman se utiliza con SELinux reforzado, puede ser necesario etiquetar el montaje del volumen. El modo de SELinux se puede solicitar con sestatus |grep "Current mode". Si el modo es enforcing, se requiere un cambio en el contexto. En este caso el montaje del volumen debe ser postfijado con :z, resultando -v "${PWD}/out:/out:z".

REST-API#

La especificación API de NetHSM está disponible en formato OpenAPI, y puede inspeccionarse y probarse en el navegador de API ` <https://nethsmdemo.nitrokey.com/api_docs/index.html>`_ .