オープンソース

Top

3. 証明書の発行

3.1. プロファイルについて

発行される証明書にどんな項目が記載されるかはプロファイルにて定義されています。

プロファイル設定は OpenXPKI サーバの「/etc/openxpki/config.d/realm/(レルム名)/profile/」ディレクトリにあります。

# docker exec openxpki-server ls /etc/openxpki/config.d/realm/test1/profile
default.yaml
sample.yaml
template
tls_client.yaml
tls_server.yaml
user_auth_enc.yaml
#

プロファイルの設定内容によって証明書発行時の入力項目が変わりますが、 本書では openxpki-config のデフォルトの設定をそのまま使用した場合について説明します。

3.2. サーバ証明書の発行

3.2.1. プロファイルを選択

上部メニューで「リクエスト」→「証明書申請」を選択します。

_images/server01.png

「証明書プロファイル」欄で「TLS/Web Server Profile」を選択します。 「件名スタイル」欄の選択により、証明書に記載される項目が変化しますが、 本書では「デフォルトのプロファイルスタイル」を選択した場合について説明します。

_images/server02.png

3.2.2. リクエストタイプを選択

ここで、OpenXPKI サーバ上で秘密鍵を生成してそこから証明書を作成するか、 別途作成した CSR をアップロードしてそこから証明書を作成するかを選択します。

_images/server03.png

OpenXPKI サーバ上で秘密鍵を生成する場合は「鍵を自動的に作成する」を選択します。

秘密鍵のアルゴリズムなどを選択します。 「パスワードの形式」欄は、本書では「自分でパスワードを選択する」を選択し後でパスワードを入力することとします。

_images/server04.png

CSR をアップロードする場合は「CSR(PKCS10)のアップロード」を選択します。

CSR の内容を「PKCS10のリクエスト」欄にペーストします。

_images/server05.png

3.2.3. 件名を編集する

「ホスト名」欄には証明書のコモンネームとして使用するホスト名を入力します。 「追加のホスト名」欄にホスト名を入力すると、「ホスト名」欄の入力値とともに証明書の subjectAltName として使用されます。 「ポート」欄には443番ポート以外で証明書を使用する場合にポート番号を入力します。

_images/server06.png

3.2.4. 証明書情報の編集

連絡先情報を入力します。この入力内容はOpenXPKI上での管理に用いられるだけで、証明書の内容には含まれません。

_images/server07.png

3.2.5. リクエスト請求

ホスト名がDNSに登録されていない場合はポリシー違反となり、このような画面が出ることがあります。 問題がなければ「例外のポリシーで送信」をクリックします。

_images/server08.png

ポリシー違反を許容する理由を記入します。

_images/server09.png

秘密鍵の生成を選択した場合は、ここで秘密鍵を保護するためのパスワードの入力を求められます。

_images/server10.png

3.2.6. リクエストの承認

「リクエストの承認」をクリックします。

_images/server11.png

これで証明書が作成されました。

_images/server12.png

3.2.7. 証明書のダウンロード

「証明書」欄の値をクリックし証明書の詳細を表示します。

「ダウンロード」欄の「PEM (CRT) 形式でダウンロード」をクリックし証明書をダウンロードします。

_images/server13.png

3.2.8. 秘密鍵のダウンロード

OpenXPKI サーバ上で秘密鍵を生成した場合は秘密鍵をダウンロードする必要があります。 「実行」欄の「秘密鍵/キーストア(PKCS12/PKCS8/Java)をダウンロード」をクリックします。

「ダウンロードフォーマット」欄でダウンロードする秘密鍵のフォーマットを選択します。 Apache HTTP Server で証明書を使用する場合は「PKCS8 (PEM)」を選択します。 「パスワード」欄には先ほど入力した秘密鍵を保護するパスワードを入力します。 「パスワード設定」欄はダウンロードした秘密鍵に使用するパスワードを入力します。 「暗号化なし」にチェックを入れると「パスワード設定」欄の入力値は無視され、ダウンロードした秘密鍵はパスワードなしのものとなります。

_images/server14.png

「ダウンロードするにはこちらをクリック」をクリックすると秘密鍵をダウンロードできます。

_images/server15.png

3.3. クライアント証明書の発行

3.3.1. プロファイルを選択

上部メニューで「証明書」→「証明書申請」を選択します。

_images/client01.png

「証明書プロファイル」欄で「TLS Client Profile」を選択します。 「件名スタイル」欄の選択により、証明書に記載される項目が変化しますが、 本書で使用している openxpki-config では「デフォルトのプロファイルスタイル」のみ選択可能です。

_images/client02.png

3.3.2. リクエストタイプを選択

ここで、OpenXPKI サーバ上で秘密鍵を生成してそこから証明書を作成するか、 別途作成した CSR をアップロードしてそこから証明書を作成するかを選択します。

_images/client03.png

OpenXPKI サーバ上で秘密鍵を生成する場合は「鍵を自動的に作成する」を選択します。

秘密鍵のアルゴリズムなどを選択します。 「パスワードの形式」欄は、本書では「自分でパスワードを選択する」を選択し後でパスワードを入力することとします。

_images/client04.png

CSR をアップロードする場合は「CSR(PKCS10)のアップロード」を選択します。

CSR の内容を「PKCS10のリクエスト」欄にペーストします。

_images/client05.png

3.3.3. 件名を編集する

「ホスト名」欄にはホスト名を入力します。「アプリケーション名」欄では使用するアプリケーションを選択します。 ここでの入力値により、証明書のコモンネームは「(ホスト名):(アプリケーション名)」の形式となります。

_images/client06.png

3.3.4. 証明書情報の編集

連絡先情報を入力します。この入力内容はOpenXPKI上での管理に用いられるだけで、証明書の内容には含まれません。

_images/client07.png

3.3.5. リクエスト請求

「リクエストを送信する」をクリックします。

_images/client08.png

秘密鍵の生成を選択した場合は、ここで秘密鍵を保護するためのパスワードの入力を求められます。

_images/client09.png

3.3.6. リクエストの承認

「リクエストの承認」をクリックします。

_images/client10.png

これで証明書が作成されました。

_images/client11.png

3.3.7. 証明書のダウンロード

「証明書」欄の値をクリックし証明書の詳細を表示します。

「ダウンロード」欄の「PEM (CRT) 形式でダウンロード」をクリックし証明書をダウンロードします。

_images/client12.png

3.3.8. 秘密鍵のダウンロード

OpenXPKI サーバ上で秘密鍵を生成した場合は秘密鍵をダウンロードする必要があります。 「実行」欄の「秘密鍵/キーストア(PKCS12/PKCS8/Java)をダウンロード」をクリックします。

「ダウンロードフォーマット」欄でダウンロードする秘密鍵のフォーマットを選択します。 「パスワード」欄には先ほど入力した秘密鍵を保護するパスワードを入力します。 「パスワード設定」欄はダウンロードした秘密鍵に使用するパスワードを入力します。 「暗号化なし」にチェックを入れると「パスワード設定」欄の入力値は無視され、ダウンロードした秘密鍵はパスワードなしのものとなります。

_images/client13.png

「ダウンロードするにはこちらをクリック」をクリックすると秘密鍵をダウンロードできます。

_images/client14.png
Top