IoT SAFE Client コマンドリファレンス¶
概要¶
IoT SAFE Client は、Raspberry Pi OS / Ubuntu / Debian 向けの IoT SAFE アプリケーション管理ツールです。
サポート環境¶
本ツールは、以下の環境をサポートしています。
- アーキテクチャ
- arm64 
- amd64 (x86_64) 
 
 
- ディストリビューション
- Raspberry Pi OS 
- Ubuntu 
- Debian 
 
 
グローバルオプション¶
すべてのコマンドで使用可能なオプションです。
| オプション | 説明 | 環境変数※ | 
|---|---|---|
| 
 | Applet Consoleで払い出されたAPI ID | 
 | 
| 
 | Applet Consoleで払い出されたAPI シークレット | 
 | 
| 
 | 設定ファイルのパス | - | 
| 
 | 詳細出力 | - | 
| 
 | 最小限の出力 | - | 
| 
 | バージョン表示 | - | 
| 
 | ヘルプ表示 | - | 
注釈
※オプションを使用せず、環境変数で設定することも可能です。
コマンド¶
config - 設定管理¶
初期設定と管理を行います。
| 変数名 | 説明 | デフォルト値 | 設定可能な値 | 備考 | 
|---|---|---|---|---|
| architecture | ターゲットアーキテクチャ | auto | auto x86_64 aarch64 | |
| fqdn | FQDN(完全修飾ドメイン名) | {APIのベースURLに使用するFQDN} ※インストール時に自動反映されます | 有効なドメイン名形式の文字列 | バリデーション: RFC 準拠のドメイン名形式である必要があります 機能: API のベース URL 構築に使用されます (https://{fqdn}/v1) | 
| packages.keep_downloads | ダウンロードしたパッケージファイルの保持 | False | True False | |
| pkcs11.default_slot | デフォルトの PKCS11 スロット番号 | 0 | 0 以上の整数 | バリデーション: 値は 0 以上である必要があります | 
| pkcs11.module | PKCS11 モジュールライブラリ名称 | libpkcs11_iotsafe.so | .so、.dll、.dylibのいずれかで終わるライブラリファイル名 | バリデーション: 適切なライブラリファイル拡張子で終わる必要があります | 
| vpn.auto_reconnect | VPN の自動再接続 | True | True False | 
config init - 初期設定¶
初期設定を行います。
注釈
install.sh から実行した場合は初期化は不要です。
# 対話モード(デフォルト)
iotsafe-client config init
# 非対話モード
iotsafe-client config init -n --fqdn="iotsafe.example.com"
# 設定ファイルから読み込み
iotsafe-client config init --config-file="config.json" -n
オプション
- --fqdn <FQDN>: サーバーの FQDN
- --non-interactive/- -n: 非対話モード
- --config-file <PATH>: JSON/YAML ファイルから設定を読み込み
config set - 変数の値の変更¶
変数の値を変更します。
iotsafe-client config set fqdn "iotsafe.example.com"
iotsafe-client config set vpn.auto_reconnect True
package - パッケージ管理¶
IoT SAFE関連パッケージのインストールと管理を行います。
package install - パッケージのインストール¶
IoT SAFE関連パッケージをインストールします。
# 全パッケージをインストール
iotsafe-client package install --all
# 特定のパッケージをインストール
iotsafe-client package install <package_name>
オプション
- --all: すべてのパッケージをインストール
package update - パッケージの更新¶
IoT SAFEパッケージを更新します。
# 全パッケージを更新
iotsafe-client package update --all
# 特定のパッケージを更新
iotsafe-client package update <package_name>
cert - 証明書管理¶
CA 証明書のダウンロードと管理を行います。
cert download-ca - CA 証明書のダウンロード¶
Applet ConsoleのCA証明書をダウンロードします。
# デフォルトの場所に保存
iotsafe-client cert download-ca
# 指定した場所に保存
iotsafe-client cert download-ca --output /path/to/ca.cert
オプション
- --output/- -o: 出力ファイルパス
cert show - 証明書情報の表示¶
CA 証明書や指定した証明書の情報を表示します。
# デフォルトCA証明書を表示
iotsafe-client cert show
# 指定した証明書を表示
iotsafe-client cert show /path/to/cert.pem
vpn - VPN 管理¶
OpenVPNによるVPN接続の設定と管理を行います。
vpn download-config - OpenVPN 設定のダウンロード¶
OpenVPN 接続設定をダウンロードします。
# ICCIDを指定してダウンロード
iotsafe-client vpn download-config --iccid="89XXXXXXXXXXXXX"
# 自動検出モード
iotsafe-client vpn download-config --auto
オプション
- --iccid <ICCID>: SIM カードの ICCID を手動で入力
- --auto: ICCID を自動検出
vpn connect - VPN 接続¶
VPN接続を確立します。
# デフォルト設定で接続
iotsafe-client vpn connect
# 設定ファイルを指定して接続
iotsafe-client vpn connect --config /path/to/config.ovpn
# バックグラウンドで接続
iotsafe-client vpn connect --daemon
オプション
- --config/- -c: OpenVPN 設定ファイル
- --daemon: バックグラウンドで実行
pkcs11 - PKCS#11 操作¶
PKCS#11 トークンの操作を行います。
pkcs11 list-slots - スロット一覧の表示¶
スロットの一覧を表示します。
iotsafe-client pkcs11 list-slots
iotsafe-client pkcs11 list-slots --module /path/to/module.so
オプション
- --module/- -m: PKCS#11 モジュール(デフォルト: libpkcs11_iotsafe.so)
pkcs11 list-objects - オブジェクト一覧の表示¶
オブジェクトの一覧を表示します。
iotsafe-client pkcs11 list-objects
iotsafe-client pkcs11 list-objects --slot 1
オプション
- --slot/- -s: スロットインデックス(デフォルト: 0)
- --module/- -m: PKCS#11 モジュール
pkcs11 read-object - オブジェクトの出力¶
指定したオブジェクトをファイル出力します。
# クライアント証明書の読み取り
iotsafe-client pkcs11 read-object --label "my_key" --type cert --output cert.der
# CSRの読み取り
iotsafe-client pkcs11 read-object --label "my_key_CertificateSigningRequest" --type data --output csr.der
# データオブジェクトの読み取り
iotsafe-client pkcs11 read-object --label "my_data" --type data --output data.bin
オプション
- --label/- -l: オブジェクトラベル(必須)
- --type/- -t: オブジェクトタイプ(必須、 cert / data の何れか)
- --output/- -o: 出力ファイル(必須)
- --slot/- -s: スロットインデックス(デフォルト: 0)
- --module/- -m: PKCS#11 モジュール
pkcs11 dump - トークン情報のダンプ¶
トークン情報を表示します。
iotsafe-client pkcs11 dump
iotsafe-client pkcs11 dump --slot 1
オプション
- --slot/- -s: スロットインデックス(デフォルト: 0)
- --module/- -m: PKCS#11 モジュール
pkcs11 info - モジュール情報の表示¶
PKCS#11関連カーネルモジュール情報を表示します。
iotsafe-client pkcs11 info
iotsafe-client pkcs11 info --module /path/to/module.so
使用例¶
初期セットアップ¶
# 1. 設定を初期化
iotsafe-client config init
# 2. 依存関係をインストール
iotsafe-client system install-deps
# 3. パッケージをインストール
iotsafe-client package install --all
# 4. CA証明書をダウンロード
iotsafe-client cert download-ca
VPN 接続のセットアップ¶
# 1. ICCIDを確認
iotsafe-client vpn get-iccid
# 2. VPN設定をダウンロード
iotsafe-client vpn download-config --auto
# 3. VPN接続
iotsafe-client vpn connect --daemon
# 4. 接続状態を確認
iotsafe-client vpn status
トラブルシューティング¶
API 認証エラー¶
# 設定を確認
iotsafe-client config list
# 以下、何れか方法でクレデンシャル情報を設定し、コマンドを実行
# オプションを指定して実行
iotsafe-client --api-id="your-api-id" --api-secret="your-api-secret" <コマンド>
# 環境変数を設定後、実行
export API_ID="your-api-id"
export API_SECRET="your-api-secret"
iotsafe-cliet <コマンド>
# api_id、api_secretファイルを作成し、実行
# 通常、これらのファイルは、インストール時自動作成されます
ls -l ~/.iotsafe/api_id
echo "your-api-id" > ~/.iotsafe/api_id
chmod 600 ~/.iotsafe/api_id
ls -l ~/.iotsafe/api_secret
echo "your-api-secret" > ~/.iotsafe/api_secret
chmod 600 ~/.iotsafe/api_secret
iotsafe-client <コマンド>
注釈
Applet Consoleに表示されるインストールコマンドを使用した場合、 API_ID 、 API_SECRET 情報は設定ディレクトリに設定されます。 よって、通常は、 iotsafe-client のオプション指定は不要です。
依存関係エラー¶
# 依存関係を確認
iotsafe-client system check-deps
# 不足している依存関係をインストール
iotsafe-client system install-deps