統合化#
この章では、あらゆるユーザーグループを対象に、さまざまなタスクのプロセスを解説しています。
ピーケーシーエスナンバーイレブン#
NetHSMは、PKCS#11規格に対応しています。必要なドライバは、`リポジトリ<https://github.com/Nitrokey/nethsm-pkcs11>`__から入手できます。このリポジトリには、さまざまなオペレーティングシステム用のソースコードとライブラリが含まれています。
`PKCS#11 ガイド<guides/pkcs11_with_pkcs11-tool.html>`_ に詳しい使い方が記載されています。
重要
このドライバは、まだ初期の概念実証の実装であり、TLSサーバーの運用に必要な機能のみを実装しています。
開発・テスト#
公開されているNetHSMのデモインスタンスは、nethsmdemo.nitrokey.com で利用可能です。
または、ローカルで Docker コンテナ として NetHSM を実行することも可能です。NetHSMコンテナは、他のコンテナとの強力な分離のためにネストされた仮想化を必要とします。したがって、NetHSMコンテナを起動するには、`/dev/kvm`が利用可能なLinuxホストが必要です。以下のコマンドを実行します。
$ sudo docker run --rm -ti --device=/dev/net/tun:/dev/net/tun --cap-add=NET_ADMIN -p8443:8443 nitrokey/nethsm:testing
カスタムアプリケーションへの組込み#
NetHSMを独自のアプリケーションに統合するために、ほとんどのプログラミング言語用のクライアントライブラリが利用可能です。そのため、OpenAPI Generator を使用することをお勧めします。
利用可能な全言語の一覧は、以下のように取得できます。
$ docker run --pull --rm -ti openapitools/openapi-generator-cli list -i stable
NetHSMクライアントは、以下のようにしてお使いのプログラミング言語用に生成することができます。
$ 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
生成されたクライアントコード(この例ではJavaScript)は、``./out/``ディレクトリに作成されます。このフォルダには、使用方法の必要なドキュメントも含まれています。
REST-API#
NetHSM'のAPI仕様は、OpenAPI format で公開されており、API browser で検査・テストすることができるようになっています。