Intégration#
Ce chapitre décrit des processus pour diverses tâches et s’adresse à tous les groupes d’utilisateurs.
PKCS#11#
Le NetHSM prend en charge la norme PKCS#11. Le pilote requis est disponible dans le référentiel ` <https://github.com/Nitrokey/nethsm-pkcs11>` __. Le dépôt contient le code source et les bibliothèques, pour différents systèmes d’exploitation.
Le guide PKCS#11 ` <guides/pkcs11_with_pkcs11-tool.html>`_ décrit en détail comment les utiliser.
Important
Ce pilote n’est encore qu’une première implémentation de validation de concept qui ne met en œuvre que les fonctions nécessaires au fonctionnement des serveurs TLS.
Développement et essais#
Une instance de démonstration publique de NetHSM est disponible à l’adresse nethsmdemo.nitrokey.com.
Vous pouvez également exécuter le NetHSM en tant que conteneur Docker localement. Le conteneur NetHSM nécessite une virtualisation imbriquée pour une séparation forte avec les autres conteneurs. Ainsi, pour démarrer un conteneur NetHSM, vous avez besoin d’un hôte Linux avec /dev/kvm disponible. Exécutez cette commande :
$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing
Intégration dans une application personnalisée#
Pour intégrer le NetHSM dans des applications personnalisées propres, des bibliothèques client sont disponibles pour presque tous les langages de programmation. Par conséquent, nous recommandons d’utiliser OpenAPI Generator.
La liste de toutes les langues disponibles peut être récupérée comme suit.
$ docker run --pull --rm -ti openapitools/openapi-generator-cli list -i stable
Le client NetHSM peut être généré pour votre langage de programmation comme suit.
$ 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
Le code client généré, dans cet exemple JavaScript, sera créé dans le répertoire ./out/`. Ce dossier contient également la documentation nécessaire à son utilisation.
REST-API#
La spécification de l’API du NetHSM’s est disponible au format OpenAPI, et peut être inspectée et testée dans le navigateur d’API.