2.5. コマンドラインインターフェイス
このセクションでは、コマンドラインユーティリティーを説明します。
2.5.1. "pki" CLI
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.crl
ファイルの出力を解析して、その内容を人間が読める形式で表示します。出力には、失効署名アルゴリズム、失効の発行者、取り消された証明書とその理由がリストになったものなどが含まれます。
詳細情報、その他のオプション、およびその他の例は、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 コマンドの出力を参照してください。