2.5. コマンドラインインターフェイス
このセクションでは、コマンドラインユーティリティーを説明します。
2.5.1. "pki" CLI
pki
コマンドラインインターフェイス (CLI) では、REST インターフェイスを使用してサーバー上のさまざまなサービスにアクセスできます (計画、インストール、デプロイメントのガイド (Common Criteria Edition) の 2.3.4 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
- CA 証明書をクライアント NSS データベースにインポートするには、計画、インストール、デプロイメントのガイド (Common Criteria Edition) の 10.5 NSS データベースへの証明書のインポート を参照してください。
コマンドによっては、クライアント証明書の認証が必要な場合があります。既存のクライアント証明書とその鍵をクライアント NSS データベースにインポートするには、PKCS #12 ファイルとパスワードを指定して、以下のコマンドを実行します。
まず、
.p12
ファイルから管理者クライアント証明書を抽出します。$ openssl pkcs12 -in file -clcerts -nodes -nokeys -out file.crt
計画、インストール、デプロイメントのガイド (Common Criteria Edition) の第 10 章 証明書/キー暗号トークンの管理 の説明に従って、管理クライアント証明書を検証してインポートします。
$ 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) を追加し、キーデータベースのファイル名を空にします。出力レベルは verbose (-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 ページを参照してください。「CMC を使用した証明書の要求と受信」 および 「CMCRequest
を使用した証明書の取り消し」 も参照してください。
2.5.6. CMCResponse
CMCResponse
ユーティリティーは、CMC の発行要求または失効要求から返された CMC 応答を解析するために使用されます。以下に例を示します。
$ *CMCResponse -d /home/agentSmith/certdb_dir -i /home/agentSmith/certdb_dir/cmc.dirsrv_pkcs10.resp -o /home/agentSmith/certdb_dir/Server-Cert.crt*
詳細、その他のオプション、追加の例については、CMCResponse(1)
の man ページを参照してください。
"-v" オプションを指定して CMCResponse
を実行すると、チェーン内の各証明書の PEM が Cert:0
、Cert:1
などとして返されます。この出力では、すべての PEM の下に、チェーン内の各証明書も整った出力形式で表示されます。証明書は決まった順序で表示されないため、チェーン内での位置を確認するには、各 "Certificate" の下にある "Subject:" を確認する必要があります。対応する PEM が上と同じ位置に表示されます。
2.5.7. CMCRevoke
レガシー。使用しないでください。
2.5.9. CRMFPopClient
CRMFPopClient
ユーティリティーは、NSS データベースを使用する Certificate Request Message Format (CRMF) クライアントであり、Proof of Possession を提供します。
以下に例を示します。
$ 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
この例では新しい CSR を作成します。その CSR では、cn=subject_name
サブジェクト DN (-n)、現行ディレクトリー (-d) の NSS データベース、トランスポートに使用する証明書 kra.transport
(-b)、AES/CBC/PKCS5Padding
キーラップアルゴリズムの verdose 出力が指定され (-v)、生成される CSR が /user_or_entity_database_directory/example.csr
ファイル (-o) に書き込まれます。
詳細やその他のオプション、追加の例は、CRMFPopClient --help
コマンドの出力を参照してください。また、「CRMFPopClient を使用して CSR を作成する」 も併せて参照してください。
2.5.10. HttpClient
HttpClient
ユーティリティーは、CMC 要求を送信するための NSS 対応 HTTP クライアントです。
以下に例を示します。
$ HttpClient request.cfg
HttpClient
ユーティリティーへのすべてのパラメーターは request.cfg
ファイルに保存されます。詳細は、HttpClient --help
コマンドの出力を参照してください。
2.5.11. OCSPClient
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.12. 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.13. PrettyPrintCert
PrettyPrintCert
ユーティリティーは、人間が読める形式で証明書の内容を表示します。
以下に例を示します。
$ PrettyPrintCert ascii_data.cert
このコマンドは、ascii_data.cert
ファイルの出力を解析して、その内容を人間が読める形式で表示します。出力には、署名アルゴリズム、指数、モジュール、証明書拡張などの情報が含まれます。
詳細、その他のオプション、追加の例については、PrettyPrintCert(1)
の man ページを参照してください。
2.5.14. PrettyPrintCrl
PrettyPrintCrl
ユーティリティーは、CRL ファイルの内容を人間が読める形式で表示します。
以下に例を示します。
$ PrettyPrintCrl ascii_data.crl
このコマンドは、ascii_data.crl
ファイルの出力を解析して、その内容を人間が読める形式で表示します。出力には、失効署名アルゴリズム、失効の発行者、取り消された証明書とその理由がリストになったものなどが含まれます。
詳細、その他のオプション、追加の例については、PrettyPrintCrl(1)
の man ページを参照してください。
2.5.15. TokenInfo
TokenInfo
ユーティリティーは、NSS データベース内のすべてのトークンをリスト表示します。
以下に例を示します。
$ TokenInfo ./nssdb/
このコマンドは、指定のデータベースディレクトリーに登録されたすべてのトークン (HSM、ソフトトークンなど) を表示します。
詳細情報、その他のオプション、追加のについては例は、TokenInfo
コマンドの出力を参照してください。
2.5.16. 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
コマンドの出力を参照してください。