子ページ
  • 事前準備 ~ 証明書の申請から取得まで

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

改版履歴

版数

日付

内容

担当

V.1.1

2014/12/22

初版

NII

V.1.2

2015/5/15

中間CA証明書のファイル名を修正

NII

V.1.3

2015/12/11

サーバ証明書設定について注釈を追加

NII

V.2.0

2018/2/26

SHA1の記載内容の削除

NII


目次

1.Apache(mod_ssl) によるサーバ証明書の利用
1-1.前提条件
1-2.事前準備
1-3.鍵ペアの生成とCSRの作成
1-3事前準備
2.鍵ペアの生成とCSRの作成
2-1 鍵ペアの生成
1-32-2 CSRの生成
1-43.証明書の申請から取得まで
1-5.証明書のインストール
1-5-1 事前準備
1-5-2 中間CA証明書のインストール
1-5-3 サーバ証明書のインストール
1-6.Apacheの設定変更
1-7.サーバ証明書の置き換えインストール
1-8.起動確認

アンカー

...

...

Apache(mod_ssl)でサーバ証明書を使用する場合の前提条件について記載します。適時、サーバ証明書をインストールする利用管理者様の環境により、読み替えをお願いします。

...

_

...

前提条件

  1. OpenSSLがインストールされていること
  2. Apacheがインストールされていること
  3. 使用されているApacheシステムに適当なmod_sslがインストールされていること
  4. ssl.confファイルまでの絶対パス:/etc/httpd /conf.d/ssl.conf
  5. httpd.confファイルまでの絶対パス:/etc/httpd/conf/httpd.conf
  6. ssl.confファイルの設定
    1. SSLCertificateFile: /etc/httpd/conf/ssl.crt/server.crt (サーバ証明書を配置)
    2. SSLCertificateKeyFile: /etc/httpd/conf/ssl.key/server.key (秘密鍵を配置)
    3. SSLCertificateChainFile: /etc/httpd/conf/ssl.crt/nii-odca3sha2.cer (SHA2の中間CA証明書を配置)

...

更新時も同様に、鍵ペアおよびCSRを新たに作成してください。鍵ペアの鍵長は2048bitにしてください。

...

Toc406680524
_Toc406680524
1

...

.事前準備

鍵ペア・CSRを生成する前に、事前に以下の項目の準備をしてください。

事前準備

  1. 乱数生成用ファイルの準備(200KB程度のファイルであればどんなものでもかまいません) 本マニュアルではファイル名をrandfile1.txt、randfile2.txt、randfile3.txtとします。
  2. サーバ鍵ペア用私有鍵パスフレーズ<PassPhrase>(「1-32-112-3-2で使用」)
  3. サーバ DN(※サーバDNについては、本サービス証明書ポリシまたは、下記DNのルールをご確認ください)
  4. CSRファイル名は  servername.csr としています。

...

○・・・必須 ×・・・入力不可 △・・・省略可
注意:証明書の更新を行う場合は、先に1-7をご確認ください。

アンカー
_Toc406680525
_Toc406680525

...

 2.鍵ペアの生成とCSRの作成

アンカー
_Toc228110985
_Toc228110985
アンカー
_Toc406680526
_Toc406680526

...

2-1 鍵ペアの生成

以下に鍵ペアの生成方法を記述します。

鍵ペアの作成

  1. 鍵ペアを生成するため、「1-2.事前準備」の手続き1で用意したファイル (200 KB 程度) を3つ選んでください。この手続きでは、 選択したファイルの名前を「randfile1.txt」、「randfile2.txt」、「randfile3.txt」として表記します。

  2. 用意したファイルを、作業ディレクトリに移動してください。

    $mv <randfile1.txt> <randfile2.txt> <randfile3.txt> /etc/httpd/conf/ssl.key/


     

  3. 鍵ペアの作成を行うため、次のコマンドを入力してください。今回のコマンド例では、 作業ディレクトリに移動し、2048 bitの RSA 鍵ペアを生成し、「servername.key」という名前で保存することを示しています。

    $cd /etc/httpd/conf/ssl.key/ 作業ディレクトリへ移動してください
    $openssl genrsa -des3 -rand <randfile1.txt>:<randfile2.txt>:<randfile3.txt> 2048 > servername.key
    Generating RSA private key, 2048 bit long modulus
    ..............................++++++
    ...............++++++
    unable to write 'random state'
    e is 65537 (0x10001)
    Enter pass phrase: <PassPhrase>             私有鍵パスフレーズ入力
    Verifying - Enter pass phrase: <PassPhrase>    私有鍵パスフレーズ再入力


    重要: この鍵ペア用私有鍵パスフレーズは、サーバの再起動時および証明書のインストール等に必要となる重要な情報です。鍵ペア利用期間中は忘れることがないよう、また、情報が他人に漏れることがないよう、安全な方法で管理してください。

  4. 作成した鍵ペアのファイルを保存します。バックアップは外部媒体ディスク等に保存し、安全な場所に保存してください。
    鍵ペアの中の私有鍵を利用すれば、お使いのウェブ・サーバがSSL/TLS で保護して送受信したデータを、解読することができてしまいます。
    従って保存する鍵ペアファイルへのアクセス権は利用管理者自身とSSL/TLS サーバのプロセス等必要最小限になるよう設定してください。
    またバックアップを保存した外部媒体ディスク等も利用管理者のみまたは同じ権限のある方のみ利用できる場所へ保管してください。
    また、鍵ペア用私有鍵パスフレーズの管理も、確実に行ってください。鍵ペアファイルの紛失、鍵ペア用私有鍵パスフレーズ忘れ等が発生した場合、証明書のインストールが行えなくなります。
    この場合、新たに証明書を申請しなおしていただくことになりますので、ご注意ください。

 

アンカー
_Toc406680527
_Toc406680527

...

2-

...

2 CSRの生成

鍵ペアが作成されたことを確認後、CSRを生成します。

CSRの作成

  1. 次のコマンドを入力し、CSRの作成を開始してください。パスフレーズの入力が求められますので、「1次のコマンドを入力し、CSRの作成を開始してください。パスフレーズの入力が求められますので、「2-3-1 鍵ペアの生成」の手続き3で作成した私有鍵のパスフレーズを入力してください。

    コマンドでは、署名アルゴリズムSHA2でCSRを作成し、「servername.csr」(ファイル名は任意)というファイル名で保存することを示しています。

    $openssl req –new –key servername.key –sha256 –out servername.csr CSRファイル名
    Enter pass phrase for servername.key: <PassPhrase> 私有鍵パスフレーズ入力

    -sha256」:署名アルゴリズムを示すオプション。
           署名アルゴリズムSHA1でCSRを作成する場合は、「-sha1」に置き換えてください。



  2. パスフレーズの入力に成功するとDN情報の問い合わせが行われますので、「1-2. 事前準備」の「DNルール」に従い、DN情報を入力してください。

    OpenSSLでは必要ない項目を「.」ドットを入力することにより、省略することができます。

    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.

          ----

         Country Name (2 letter code) [AU]:JP "JP"を入力
         State or Province Name (full name) []:. 「.」ドットの入力
         Locality Name (eg, city) [Default City]:Academe "Academe"を入力
         Organization Name (eg, company) [Default Company Ltd]:National Institute of Informatics組織名を入力
         Organizational Unit Name (eg, section) []:Cyber Science Infrastructure Development Department 部局名を入力
         Common Name (eg, your name or your server's hostname) []:www.nii.ac.jp サーバ名FQDN を入力
         Email Address []:. 「.」ドットを入力
         Please enter the following 'extra' attributes
         to be sent with your certificate request
         A challenge password []:. 「.」ドットを入力
         An optional company name []:.「.」ドットを入力



  3. 要求された情報の入力が完了すると CSR が生成され、servername.csrに保存されます。なお、このファイルも、バックアップをとって、証明書を受領するまでは別途保管することをお勧めします。

    ----BEGIN CERTIFICATE REQUEST----

    MIIBhDCB7gIBADBFMQswCQYDVQQGEwJKUDEQMA4GA1UEBxMHQWNhZGVtZTEMMAoG

    Um0E3vq8Ajg=
    ----END CERTIFICATE REQUEST----



  4. 以下のコマンドを入力することにより、CSRの内容を確認することができます。

    $ openssl req -noout -text -in servername.csr
    Certificate Request:
          Data:
                 Version: 0 (0x0)
                 Subject: C=JP, L=Academe, O=National Institute of Informatics, OU=Cyber Science Infrastructure Development Department,CN=www.nii.ac.jpCSR生成時に入力したDNと一致していることを確認してください。
                 Subject Public Key Info:
                         Public Key Algorithm: rsaEncryption
                         Public Key: (2048 bit)鍵長が2048bitであることを確認してください。
                                Modulus:
                                          00:c9:0e:99:5c:8a:4a:e3:b2:e2:0d:3d:60:4d:30:
                                                 :
                  例
                   :
                                          ca:2e:56:f7:66:bd:01:44:ea:f3:ca:d2:f6:e0:5e:
                                          6c:57:4b:65:e4:e7:f7:ca:dd
                                 Exponent: 65537 (0x10001)
                    Attributes:
                          a0:00
            Signature Algorithm: sha256WithRSAEncryption CSR生成時に指定した署名アルゴリズムで あることを確認してください。
                              署名アルゴリズムにsha1を指定した場合は「sha1WithRSAEncryption」と表示されます。
                                                                                                  

                    88:44:e5:27:06:02:ec:85:6c:29:6a:0f:a3:92:87:4e:e2:f1:
                   :
                       例

 

アンカー
_Toc406680528
_Toc406680528

...

 3.証明書の申請から取得まで

CSRを作成後、登録担当者へ送付するための証明書発行申請TSVファイルを作成し申請します。

...

証明書取得URLの通知

【件名】
Webサーバ証明書発行受付通知

・・・・・

#以下に証明書の取得先が記述されています。
貴機関の登録担当者経由で発行申請をいただきましたサーバ証明書を配付いたします。
本日から1ヶ月以内に以下の証明書取得URLへアクセスし、サーバ証明書の取得を行ってください。
  証明書取得URL:

  https://scia.secomtrust.net/~ ←左記URLにアクセスし証明書の取得を行ってください。

  

・・・・・

 

...

本章ではApache(mod_ssl)への証明書のインストール方法について記述します。

...

事前準備として、サーバ証明書、中間CA証明書を取得してください。

...

事前準備

...

 

...

以下の手続きに従って、中間CA証明書のインストールを行ってください。

中間CA証明書のインストール

中間CA証明書は「1-1.前提条件」条件5で記述したssl.confファイルの「SSLCertificateChainFile」で指定します。
「1-5-1.事前準備」で取得した中間CA証明書を「1-1.前提条件」(c.)で記述したパスへ移動してください。

$ mv nii-odca3sha2.cer /etc/httpd/conf/ssl.crt/nii-odca3sha2.cer

 

...

新規でサーバ証明書をインストールする場合は以下の手続きによりサーバ証明書のインストールを実施してください。

...

サーバ証明書のインストール

サーバ証明書は「1-1.前提条件」条件6で記述したssl.confファイルの「SSLCertificateFile」で指定します。
「1-5-1.事前準備」で取得したサーバ証明書を「1-1.前提条件」(a.)で記述したパスへ移動してください。

...

 

...

本章ではApacheに証明書を適用するための設定方法について記述します。「1-4.証明書の受領」で受領したサーバ証明書をserver.crtという名前で保存した場合の設定にて記載しています。

Apacheの設定変更

証明書のインストール終了後、「1-1. 前提条件」で記述したssl.confファイルの編集を行ってください。

証明書の更新を行った場合は新たに作成した秘密鍵をSSLCertificateKeyFileに、新たに作成した証明書をSSLCertificateFileに、新たに取得した中間CA証明書をSSLCertificateChainFileに設定してください。

(1-1 前提条件のとおりである場合は、設定の変更は必要ございません)

・・・
SSLCertificateFile:
デフォルトでは/etc/httpd/conf/ssl.crt/server.crt (サーバ証明書を配置)
SSLCertificateKeyFile:
デフォルトでは/etc/httpd/conf/ssl.key/server.key (秘密鍵を配置)
SSLCertificateChainFile:
デフォルトでは/etc/httpd/conf/ssl.crt/server-chain.crt(中間CA証明書を配置)
・・・

 

...

更新したサーバ証明書をインストールする場合は以下の手続きによりサーバ証明書のインストールを実施してください。

...

サーバ証明書の置き換えインストール

旧サーバ証明書の鍵ペアをコピーしてください。

$ cd /etc/httpd/conf/ssl.key/
$ cp server.key server.key.old

...

更新対象のサーバ証明書をコピーして、保管してください。

$ cd /etc/httpd/conf/ssl.crt/
$ cp server.crt server.crt.old

...

「1-5-1.事前準備」で取得したサーバ証明書を「1-1.前提条件」(a.)で記述したパスへ移動してください。

$ mv server.crt /etc/httpd/conf/ssl.crt/server.crt

 

...

本章ではインストールした証明書によるSSL通信に問題がないか確認する方法を記述します。

...

証明書の反映・確認

...

Apacheを再起動し、変更した設定を反映させます。

$ /etc/init.d/httpd stop Apacheの停止
$ /etc/init.d/httpd start Apacheの起動

...