Integratie#
Het hoofdstuk beschrijft processen voor verschillende taken en richt zich op alle gebruikersgroepen.
PKCS#11#
De NetHSM ondersteunt de PKCS#11-standaard. Het vereiste stuurprogramma is beschikbaar in de repository. De repository bevat de broncode en bibliotheken, voor verschillende besturingssystemen.
De PKCS#11 gids beschrijft in detail hoe ze te gebruiken.
Belangrijk
Dit stuurprogramma is nog een vroege Proof of Concept-implementatie die alleen de functies implementeert die nodig zijn voor de werking van TLS-servers.
Ontwikkeling en Testen#
Een openbare NetHSM-demo-instance is beschikbaar op nethsmdemo.nitrokey.com.
Als alternatief kunt u de NetHSM Docker container lokaal draaien. De NetHSM-container vereist geneste virtualisatie voor een sterke scheiding met andere containers. Om een NetHSM container te starten heb je dus een Linux host nodig met /dev/kvm beschikbaar. Voer dit commando uit:
$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing
Integratie in aangepaste toepassing#
Om de NetHSM te integreren in eigen aangepaste toepassingen, zijn client bibliotheken beschikbaar voor bijna alle programmeertalen. Daarom adviseren wij het gebruik van OpenAPI Generator.
De lijst van alle beschikbare talen kan als volgt worden opgevraagd.
$ docker run --pull --rm -ti openapitools/openapi-generator-cli list -i stable
De NetHSM-client kan als volgt voor uw programmeertaal worden gegenereerd.
$ 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
De gegenereerde client code, in dit voorbeeld JavaScript, wordt aangemaakt in de ./out/
directory. Deze map bevat ook de nodige documentatie over het gebruik ervan.
REST-API#
De NetHSM’s API-specificatie is beschikbaar in OpenAPI-formaat, en kan worden geïnspecteerd en getest in de API-browser.