5.2. 証明書署名リクエスト (CSR) の作成
計画、インストール、デプロイメントのガイド (Common Criteria Edition) の 2.4.1.1.2.2 CMC による登録 セクションで説明されているように、CMCRequest ユーティリティーは、PKCS #10 および CRMF 形式の証明書署名要求 (CSR) を受け入れます。
Red Hat Certificate System は、以下のユーティリティーを使用した CSR の作成をサポートします。
-
certutil: PKCS #10 要求の作成をサポートします。 -
PKCS10Client: PKCS #10 要求の作成をサポートします。 -
CRMFPopClient: CRMF 要求の作成をサポートします。
次のセクションでは、これらのユーティリティーを機能豊富な登録プロファイルフレームワークで使用する方法の例をいくつか示します。
サーバー側のキー生成はブラウザーの EE ポータルで提供されているように見えますが、この機能は最新ブラウザーにおけるキー生成サポートの削除がもたらす不便さを CS サーバー上でキー生成 (キーは安全にクライアントに転送されます) を可能にすることで克服するための機能であるため、これは Common Criteria リリースでは評価されません。
5.2.1. certutil で CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、certutil ユーティリティーを使用して CSR を作成する方法を説明します。
certutil の使用の詳細は、以下を参照してください。
-
certutil(1)の man ページ -
certutil --helpコマンドの出力
5.2.1.1. certutil で EC キーを使用する CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、certutil ユーティリティーを使用して Elliptic Curve(EC) キーペアと CSR を作成する方法を示しています。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリー CSR を作成し、
request.csrファイルに保存します。certutil -d . -R -k ec -q nistp256 -s "CN=subject_name" -o request-bin.csr
$ certutil -d . -R -k ec -q nistp256 -s "CN=subject_name" -o request-bin.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、必要な NSS データベースのパスワードを入力します。
パラメーターの詳細は、
certutil(1)の man ページを参照してください。作成したバイナリー形式の CSR を PEM 形式に変換します。
BtoA request-bin.csr request.csr
$ BtoA request-bin.csr request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、CSR ファイルが正しいことを確認します。
cat request.csr MIICbTCCAVUCAQAwKDEQMA4GA1UEChMHRXhhbXBsZTEUMBIGA1UEAxMLZXhhbXBs ...
$ cat request.csr MIICbTCCAVUCAQAwKDEQMA4GA1UEChMHRXhhbXBsZTEUMBIGA1UEAxMLZXhhbXBs ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、PKCS#10 PEM 証明書要求です。
- 次の手順については、「CMC 登録プロセス」 を参照してください。ただし、証明書要求の作成に関する手順はスキップしてください。
5.2.1.2. certutil でユーザー定義拡張を使用する CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、certutil ユーティリティーを使用してユーザー定義の拡張で CSR を作成する方法を示しています。
登録要求は、CA で定義された登録プロファイルにより制限されることに注意してください。例B.3「CSR 内の複数の User Supplied 拡張」 を参照してください。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー定義の Extended Key Usage 拡張とユーザー定義の Key Usage 拡張で CSR を作成し、これを
request.csrファイルに保存します。certutil -d . -R -k rsa -g 1024 -s "CN=subject_name" --keyUsage keyEncipherment,dataEncipherment,critical --extKeyUsage timeStamp,msTrustListSign,critical -a -o request.csr
$ certutil -d . -R -k rsa -g 1024 -s "CN=subject_name" --keyUsage keyEncipherment,dataEncipherment,critical --extKeyUsage timeStamp,msTrustListSign,critical -a -o request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、必要な NSS データベースのパスワードを入力します。
パラメーターの詳細は、
certutil(1)の man ページを参照してください。必要に応じて、CSR ファイルが正しいことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、PKCS#10 PEM 証明書要求です。
注記上記の certutil コマンドにはテキスト形式の CSR の
-aオプションが含まれているため、続行する前にヘッダー情報を必ず削除してください。-aを省略した場合は、上記の 「certutilで EC キーを使用する CSR を作成する」 セクションで示すとおり、必ずBtoAツールを使用してバイナリー形式からテキスト形式に変換してください。上記の certutil コマンドにはテキスト形式の CSR の -a オプションが含まれているため、続行する前にヘッダー情報を必ず削除してください。-a を省略した場合は、必ず BtoA を使用してバイナリー形式からテキスト形式に変換してください。これについては、上記の「5.2.1.1 certutil で EC キーを使用する CSR を作成する」を参照してください。
次の手順については、「CMC 登録プロセス」 を参照してください。ただし、証明書要求の作成に関する手順はスキップしてください。
5.2.2. PKCS10Client を使用して CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、PKCS10Client ユーティリティーを使用して CSR を作成する方法の例を示します。
PKCS10Client の使用に関する詳細は、以下を参照してください。
-
PKCS10Client(1)の man ページ -
PKCS10Client --helpコマンドの出力
5.2.2.1. PKCS10Client を使用して CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、PKCS10Client ユーティリティーを使用して Elliptic Curve (EC) キーペアと CSR を作成する方法を説明します。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を作成し、
example.csrファイルに保存します。PKCS10Client -d . -p NSS_password -a ec -c nistp256 -o example.csr -n "CN=subject_name"
$ PKCS10Client -d . -p NSS_password -a ec -c nistp256 -o example.csr -n "CN=subject_name"Copy to Clipboard Copied! Toggle word wrap Toggle overflow パラメーターの詳細は、
PKCS10Client(1)の man ページを参照してください。必要に応じて、CSR ファイルが正しいことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の手順については、「CMC 登録プロセス」 を参照してください。
5.2.2.2. PKCS10Client を使用して SharedSecret ベースの CMC の CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、PKCS10Client ユーティリティーを使用して、SharedSecret ベースの CMC 用の RSA キーペアと CSR を作成する方法を説明します。これは、デフォルトでは caFullCMCSharedTokenCert プロファイルと caECFullCMCSharedTokenCert プロファイルで処理される CMC 共有シークレット認証方法にのみ使用します。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を作成し、
example.csrファイルに保存します。PKCS10Client -d . -p NSS_password -o example.csr -y true -n "CN=subject_name"
$ PKCS10Client -d . -p NSS_password -o example.csr -y true -n "CN=subject_name"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力で生成されたキーペアの秘密鍵 ID は、
<CSR output file name>.keyIdの名前形式を持つファイルに保存されます。この ID は、後で共有シークレットまたは復号された POP CMC の登録手順を実行する際に使用されます。パラメーターの詳細は、
PKCS10Client(1)の man ページを参照してください。必要に応じて、CSR ファイルが正しいことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の手順については、「共有シークレットを使用して証明書登録を認証する」 を参照してください。
5.2.3. CRMFPopClient を使用して CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
Certificate Request Message Format (CRMF) は、CMC で受け入れられている CSR 形式であり、主要なアーカイブ情報を要求に安全に埋め込むことができます。
このセクションでは、CRMFPopClient ユーティリティーを使用して CSR を作成する方法の例を示します。
CRMFPopClient の使用に関する詳細を確認する場合は、CRMFPopClient -help コマンドを実行してください。
5.2.3.1. CRMFPopClient でキーアーカイブを使用する CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、CRMFPopClient ユーティリティーを使用して RSA キーペアと、キーアーカイブオプションを使用する CSR を作成する方法を説明します。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA から KRA トランスポート証明書を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KRA トランスポート証明書をエクスポートします。
pki -p 8443 ca-cert-show 0x7 --output kra.transport
$ pki -p 8443 ca-cert-show 0x7 --output kra.transportCopy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を作成し、
example.csrファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Elliptic Curve (EC) キーペアと CSR を作成するには、-a ec -t false オプションをコマンドに渡します。パラメーターの詳細は、
CRMFPopClient -helpコマンドを実行してください。必要に応じて、CSR ファイルが正しいことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の手順については、「CMC 登録プロセス」 を参照してください。
5.2.3.2. CRMFPopClient で SharedSecret ベースの CMC の CSR を作成する リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、CRMFPopClient ユーティリティーを使用して、SharedSecret ベースの CMC 用の RSA キーペアと CSR を作成する方法を説明します。これは、デフォルトでは caFullCMCSharedTokenCert プロファイルと caECFullCMCSharedTokenCert プロファイルで処理される CMC 共有シークレット認証方法にのみ使用します。
証明書が要求されるユーザーまたはエンティティーの証明書データベースディレクトリーに移動します。以下に例を示します。
cd /user_or_entity_database_directory/
$ cd /user_or_entity_database_directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow KRA トランスポート証明書を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KRA トランスポート証明書をエクスポートします。
pki -p 8443 ca-cert-export 0xc --output-file kra.transport
$ pki -p 8443 ca-cert-export 0xc --output-file kra.transportCopy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を作成し、
example.csrファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記EC キーペアと CSR を作成するには、コマンドに -a ec -t false オプションを渡します。パラメーターの詳細は、
CRMFPopClient --helpコマンドの出力を参照してください。出力で生成されたキーペアの秘密鍵 ID は、
<CSR output file name>.keyIdの名前形式を持つファイルに保存されます。この ID は、後で共有シークレットまたは DecryptedPOP CMC の登録手順を実行する際に使用されます。必要に応じて、CSR ファイルが正しいことを確認します。
cat example.csr -----BEGIN CERTIFICATE REQUEST----- MIICzzCCAbcCAQAwgYkx ... -----END CERTIFICATE REQUEST-----
$ cat example.csr -----BEGIN CERTIFICATE REQUEST----- MIICzzCCAbcCAQAwgYkx ... -----END CERTIFICATE REQUEST-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の手順については、「共有シークレットを使用して証明書登録を認証する」 を参照してください。