Integración#

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

REST-API#

La interfaz principal de NetHSM es una moderna REST-API que garantiza el mejor rendimiento y funcionalidad. La especificación de la API está disponible en formato OpenAPI, y puede inspeccionarse y probarse en el navegador de API .

PKCS#11#

El NetHSM soporta el estándar PKCS#11. El controlador necesario está disponible en el repositorio. 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#

Instancia de demostración#

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».

Imagen del contenedor#

NetHSM container images are available for testing and production.

Integración en la aplicación personalizada#

Para integrar NetHSM en sus propias aplicaciones personalizadas, existen bibliotecas cliente para casi todos los lenguajes de programación. Aquí están las bibliotecas para Python y Rust así como esta tercera parte Rust crate. 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".

Interfaz de línea de comandos#

Los usuarios pueden administrar y utilizar un NetHSM utilizando una interfaz de línea de comandos (CLI) dedicada. Nitrokey ofrece nitropy, que se distribuye en la aplicación basada en Python pynitrokey. Con nethsm existe una aplicación alternativa de terceros, que está desarrollada en el crate de Rust nethsm-cli.