C.2. SSL 証明書の作成

概要
以下の手順は、SSL 証明書を作成して、CA キーで署名します。SSL/TLS 証明書は、HTTPS を経由したインストールへのアクセスにセキュリティ層を提供します。以下の手順では、証明書を作成し、それらを使用してホストを設定する方法を説明します。
以下の手順には openssl が必要です。このツールをインストールするには、ホストで以下のコマンドを実行します。
# yum install openssl

手順C.2 SSL 証明書の作成

  1. ホストのキーを作成します。
    # openssl genrsa -out ssl.key
    
    これにより ssl.key キーファイルが作成されます。
  2. このキーを使用して、証明書の署名要求を作成します。
    # openssl req -new -key ssl.key -out ssl.csr
    
    署名要求は、証明書の識別名 (DN) を形成するためのいくつかの情報を要求します。
    Country Name (2 letter code) [XX]:AU
    State or Province Name (full name) []:Queensland
    Locality Name (eg, city) [Default City]:Brisbane
    Organization Name (eg, company) [Default Company Ltd]:Red Hat
    Organizational Unit Name (eg, section) []:Engineering Content Services
    Common Name (eg, your name or your server's hostname) []:www.example.com
    Email Address []:dmacpher@redhat.com
    
    これにより、ssl.csr 署名要求ファイルが作成されます。
  3. 署名済み SSL 証明書を作成します。
    # openssl ca -cert ca.crt -keyfile ca.key -out ssl.crt -infiles ssl.csr
    
    openssl が CA キーのパスワードを要求します。
    これにより、ssl.crt という名前のファイルが作成されます。

    重要

    上記のコマンドでは、以下のようなエラーが発生する場合があります。
    Using configuration from /etc/pki/tls/openssl.cnf
    Enter pass phrase for ca.key:
    /etc/pki/CA/index.txt: No such file or directory
    unable to open '/etc/pki/CA/index.txt'
    139883256969032:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('/etc/pki/CA/index.txt','r')
    139883256969032:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
    

    手順C.3 このエラーの解決方法

    1. index.txt ファイルを作成します。
      # touch /etc/pki/CA/index.txt
      
    2. CA およびすべての後続の証明書をラベル付けするシリアルファイルを作成します。
      # echo '1000' > /etc/pki/CA/serial
      
    この手順は、SSL 証明書の初回設定時にのみ行う必要があります。コマンドを再実行します。
    # openssl ca -cert ca.crt -keyfile ca.key -out ssl.crt -infiles ssl.csr
    
ssl.crt および ssl.key が証明書ペアを形成します。ホストはこれを使用して HTTPS 経由でデータを暗号化します。
結論
SSL 証明書を作成して、CA キーで署名しました。openssl により、管理者が証明書の署名に使用するキー ca.key と、ユーザーが受信した署名済み証明書の有効性を検証するために取得する公開 CA 証明書 ca.crt の 2 つのファイルが作成されました。ホストにアクセスするユーザーが ca.crt のコピーを所有しており、クライアントの信頼された CA ストアにインポートできることを確認しました。