2.5. コマンドラインインターフェイス
本セクションでは、コマンドラインユーティリティーを説明します。
2.5.1. pkiCLI
pki コマンドラインインターフェイス (CLI) は、『Red Hat Certificate System 計画、インストール、およびデプロイメントのガイド』 の 『REST インターフェイス』 を参照してください。CLI は以下のように呼び出すことができます。
$
pki [CLI options] <command> [command parameters]
CLI オプションは、コマンドの前に配置する必要があり、コマンドの後にコマンドパラメーターを指定する必要があることに注意してください。
2.5.1.1. pki CLI の初期化
コマンドラインインターフェイスを初めて使用するには、新しいパスワードを指定し、以下のコマンドを使用します。
$
pki -c <password> client-init
これにより、
~/.dogtag/nssdb
ディレクトリーに新しいクライアント NSS データベースが作成されます。パスワードは、クライアントの NSS データベースを使用するすべての CLI 操作に指定する必要があります。または、パスワードがファイルに保存されている場合は、-C
オプションを使用してファイルを指定できます。以下に例を示します。
$
pki -C password_file client-init
クライアントの NSS データベースに CA 証明書をインポートするには、『Red Hat Certificate System 計画、インストール、およびデプロイメントのガイド』の『NSS データベースへの証明書のインポート』セクションを参照してください。
コマンドによっては、クライアント証明書の認証が必要な場合があります。既存のクライアント証明書とその鍵をクライアント NSS データベースにインポートするには、PKCS #12 ファイルとパスワードを指定して、以下のコマンドを実行します。
以下のコマンドを実行して、
.p12
ファイルから管理クライアント証明書を抽出します。
$ openssl pkcs12 -in file -clcerts -nodes -nokeys -out file.crt
『Red Hat Certificate System 計画、インストール、およびデプロイメントのガイド』の『証明書/キー暗号化トークンの管理』セクションに記載の手順に従って、管理クライアント証明書の検証およびインポートを行います。
$ PKICertImport -d ~/.dogtag/nssdb -n "nickname" -t ",," -a -i file.crt -u C
重要
CA 管理クライアント証明書をインポートする前に、中間証明書とルート CA 証明書がインポートされていることを確認します。
既存のクライアント証明書とその鍵をクライアント NSS データベースにインポートするには、PKCS #12 ファイルとパスワードを指定して、以下のコマンドを実行します。
$
pki -c <password> pkcs12-import --pkcs12-file <file> --pkcs12-password <password>
以下のコマンドを使用して、クライアント証明書を確認します。
certutil -V -u C -n "nickname" -d ~/.dogtag/nssdb
2.5.1.2. pki CLI の使用
コマンドラインインターフェイスは、階層構造で多数のコマンドをサポートします。トップレベルのコマンドを一覧表示するには、追加のコマンドまたはパラメーターを指定せずに pki コマンドを実行します。
$
pki
コマンドにはサブコマンドがあります。一覧を表示するには、コマンド名を指定して pki を実行して追加のオプションを指定せずに実行します。以下に例を示します。
$
pki ca
$
pki ca-cert
コマンドの使用情報を表示するには
--help
オプションを使用します。
$
pki --help
$
pki ca-cert-find --help
man ページを表示するには、コマンドラインの help コマンドを指定します。
$
pki help
$
pki help ca-cert-find
認証を必要としないコマンドを実行するには、コマンドとそのパラメーター (必要な場合) を指定します。以下に例を示します。
$
pki ca-cert-find
クライアント証明書の認証を必要とするコマンドを実行するには、証明書のニックネーム、クライアント NSS データベースのパスワード、および任意のサーバーの URL を指定します。
$
pki -U <server URL> -n <nickname> -c <password> <command> [command parameters]
以下に例を示します。
$
pki -n jsmith -c password ca-user-find ...
デフォルトでは、CLI は
http://local_host_name:8080
でサーバーと通信します。別の場所でサーバーと通信するには、URL を -U
オプションで指定します。以下に例を示します。
$
pki -U https://server.example.com:8443 -n jsmith -c password ca-user-find
2.5.2. AtoB
AtoB ユーティリティーは、Base64 でエンコードされた証明書を、同等のバイナリーにデコードします。以下に例を示します。
$
AtoB input.ascii output.bin
詳細情報、その他のオプション、およびその他の例は、AtoB(1) の man ページを参照してください。
2.5.3. AuditVerify
AuditVerify ユーティリティーは、ログエントリーの署名を検証して、監査ログの整合性を検証します。
たとえば、以下のようになります。
$ AuditVerify -d ~jsmith/auditVerifyDir -n Log Signing Certificate -a ~jsmith/auditVerifyDir/logListFile -P "" -v
この例では、
~jsmith/auditVerifyDir
NSS データベー (-d
) の Log Signing Certificate
(-n
) を使用して監査ログを検証します。検証するログのリスト (-a
) は ~jsmith/auditVerifyDir/logListFile
ファイルにあります。こちらは、コンマ区切りで時系列順に並べられています。証明書の先頭に接頭辞 (-P
) を追加し、キーデータベースのファイル名を空にします。出力は詳細です (-v
)。
詳細、その他のオプション、およびその他の例は、AuditVerify(1) の man ページまたは「署名監査ログの使用」を参照してください。
2.5.4. BtoA
BtoA ユーティリティーは、バイナリーデータを Base64 でエンコードします。以下に例を示します。
$
BtoA input.bin output.ascii
詳細情報、その他のオプション、およびその他の例は、BtoA(1) の man ページを参照してください。
2.5.5. CMCRequest
CMCRequest ユーティリティーは、証明書の発行または失効要求を作成します。以下に例を示します。
$
CMCRequest example.cfg
注記
CMCRequest ユーティリティーのすべてのオプションは、ユーティリティーに渡される設定ファイルの一部として指定されます。設定ファイルのオプションと詳細は、CMCRequest(1) の man ページを参照してください。4.3 も参照してください。CMC および 「
CMCRequest
を使用した証明書の取り消し」 を使用した証明書の要求と受け取り
2.5.6. CMCRevoke
レガシー。使用しないでください。
2.5.8. CRMFPopClient
CRMFPopClient
ユーティリティーは、NSS データベースを使用する Certificate Request Message Format (CRMF) クライアントであり、Possession の Proof を提供します。
たとえば、以下のようになります。
$ CRMFPopClient -d . -p password -n "cn=subject_name" -q POP_SUCCESS -b kra.transport -w "AES/CBC/PKCS5Padding" -t false -v -o /user_or_entity_database_directory/example.csr
この例では、cn=subject_name サブジェクト DN (
-n
)、現在のディレクトリー (-d
) の NSS データベース (-b)、トランスポート (kra.transport
) (-b
) に使用する証明書、AES/CBC/PKCS5Padding キーをラップする証明書で新しい CSR を作成します (-v
)。また、生成される CSR が /user_or_entity_database_directory/example.csr
ファイル (-o
) に書き込まれます。
詳細やその他のオプション、追加の例は、CRMFPopClient --help コマンドの出力を参照してください。また、「
CMCRequest
を使用した証明書の取り消し」 も参照してください。
2.5.9. HttpClient
HttpClient
ユーティリティーは、CMC 要求を送信するための NSS 対応の HTTP クライアントです。
たとえば、以下のようになります。
$ HttpClient request.cfg
注記
HttpClient ユーティリティーへのすべてのパラメーターは
request.cfg
ファイルに保存されます。詳細は、HttpClient --help コマンドの出力を参照してください。
2.5.10. OCSPClient
証明書失効リストのステータスを確認する Online Certificate Status Protocol (OCSP) クライアント。
たとえば、以下のようになります。
$ OCSPClient -h server.example.com -p 8080 -d /etc/pki/pki-tomcat/alias -c "caSigningCert cert-pki-ca" --serial 2
この例では、ポート 8080 (
-p
) の server.example.com
OCSP サーバー (-h
) に対してクエリーを実行し、シリアル番号 2 (--serial
) を持つ caSigningcet cert-pki-ca (-c
) が署名した証明書を確認します。/etc/pki/pki-tomcat/alias
ディレクトリーの NSS データベースが使用されます。
詳細情報、その他のオプション、およびその他の例は、OCSPClient --help コマンドの出力を参照してください。
2.5.11. PKCS10Client
PKCS10Client
ユーティリティーは、必要に応じて HSM 上に RSA キーおよび EC キーの CSR を PKCS10 形式で作成します。
たとえば、以下のようになります。
$ PKCS10Client -d /etc/dirsrv/slapd-instance_name/ -p password -a rsa -l 2048 -o ~/ds.csr -n "CN=$HOSTNAME"
この例では、
/etc/dirsrv/slapd-instance_name/
ディレクトリー (-d
) に 2048 ビット (-l
) で、新しい RSA (-a
) キーを、データベースパスワード (password) (-p
) で作成します。出力 CSR は ~/ds.cfg
ファイル (-o
) に格納されます。また、証明書 DN は CN=$HOSTNAME (-n
) です。
詳細情報、その他のオプション、およびその他の例は、PKCS10Client(1) の man ページを参照してください。
2.5.12. PrettyPrintCert
PrettyPrintCert ユーティリティーは、人間が判読可能な形式で証明書の内容を表示します。
たとえば、以下のようになります。
$ PrettyPrintCert ascii_data.cert
このコマンドは、
ascii_data.cert
ファイルの出力を解析し、その内容を人間が読める形式で表示します。出力には、署名アルゴリズム、指数、モジュール、証明書拡張などの情報が含まれます。
詳細情報、その他のオプション、およびその他の例は、PrettyPrintCert(1) の man ページを参照してください。
2.5.13. PrettyPrintCrl
PrettyPrintCrl ユーティリティーは、CRL ファイルの内容を人間が判読できる形式で表示します。
たとえば、以下のようになります。
$ PrettyPrintCrl ascii_data.crl
このコマンドは、
ascii_data.crt
ファイルの出力を解析して、その内容を人間が読める形式で表示します。出力には、失効署名アルゴリズム、失効の発行者、取り消された証明書とその理由が一覧になったものなどが含まれます。
詳細情報、その他のオプション、およびその他の例は、PrettyPrintCrl(1) の man ページを参照してください。
2.5.14. TokenInfo
TokenInfo ユーティリティーは、NSS データベース内のトークンを一覧表示します。
たとえば、以下のようになります。
$ TokenInfo ./nssdb/
このコマンドは、指定のデータベースディレクトリーに登録されたすべてのトークン (HSM、ソフトトークンなど) を表示します。
詳細情報、その他のオプション、およびその他の例は、TokenInfo コマンドの出力を参照してください。
2.5.15. tkstool
tkstool
ユーティリティーは、トークンキーサービス (TKS) サブシステムと対話します。
たとえば、以下のようになります。
$ tkstool -M -n new_master -d /var/lib/pki/pki-tomcat/alias -h token_name
このコマンドは、HSM
token_name
の /var/lib/pki/pki-tomcat/alias
NSS データベースに new_master (-n
) という名前の新しいマスターキー (-M
) を作成します。
詳細情報、その他のオプション、およびその他の例は、tkstool -H コマンドの出力を参照してください。