Cisco UCS E シリーズ サーバ Integrated Management Controller の CLI 設定ガイド リリース 2.x
証明書の管理
証明書の管理

証明書の管理

この章は、次の内容で構成されています。

サーバ証明書の管理

証明書署名要求(CSR)を生成して新しい証明書を取得し、新しい証明書を CIMC にアップロードして現在のサーバ証明書と交換することができます。 サーバ証明書は、Verisign のようなパブリック Certificate Authority(CA; 認証局)、または独自に使用している認証局のいずれかによって署名されます。

手順
    ステップ 1   CIMC から CSR を生成します。
    ステップ 2   証明書の発行と署名を行う認証局に CSR ファイルを送信します。 組織で独自の自己署名証明書を生成している場合は、CSR ファイルを使用して自己署名証明書を生成できます。
    ステップ 3   新しい証明書を CIMC にアップロードします。
    (注)     

    アップロードされた証明書は、CIMC によって生成された CSR から作成される必要があります。 この方法で作成されていない証明書はアップロードしないでください。


    証明書署名要求の生成

    はじめる前に

    証明書を設定するには、admin 権限を持つユーザとしてログインする必要があります。

    手順
       コマンドまたはアクション目的
      ステップ 1Server# scope certificate  

      証明書コマンド モードを開始します。

       
      ステップ 2Server /certificate # generate-csr  

      証明書署名要求(CSR)の生成に関するダイアログを起動します。

       

      証明書署名要求に関して、次の情報の入力を求めるプロンプトが表示されます。

      Common Name(CN)

      CIMC の完全修飾ホスト名

      Organization Name (O)

      証明書を要求している組織。

      Organization Unit (OU)

      組織ユニット

      Locality(L)

      証明書を要求している会社の本社が存在する市または町。

      StateName (S)

      証明書を要求している会社の本社が存在する州または行政区分。

      Country Code (CC)

      会社の本社が存在する国を示す 2 文字の ISO 国コード。

      Email

      会社の管理用電子メールの連絡先。

      要求された情報を入力すると、証明書署名要求が生成され、コンソール出力に表示されます。 CSR ファイルは作成されませんが、コンソール出力から CSR 情報をコピーして、テキスト ファイルに貼り付けることができます。

      次に、証明書署名要求を生成する例を示します。

      Server# scope certificate
      Server /certificate # generate-csr
      Common Name (CN): test.example.com 
      Organization Name (O): Example, Inc.
      Organization Unit (OU): Test Department
      Locality (L): San Jose
      StateName (S): CA
      Country Code (CC): US
      Email: user@example.com
      Continue to generate CSR?[y|N]y
      
       
      -----BEGIN CERTIFICATE REQUEST-----
      MIIB/zCCAWgCAQAwgZkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UE
      BxMMU2FuIEpvc2UsIENBMRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xEzARBgNVBAsT
      ClRlc3QgR3JvdXAxGTAXBgNVBAMTEHRlc3QuZXhhbXBsZS5jb20xHzAdBgkqhkiG
      9w0BCQEWEHVzZXJAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
      AoGBAMZw4nTepNIDhVzb0j7Z2Je4xAG56zmSHRMQeOGHemdh66u2/XAoLx7YCcYU
      ZgAMivyCsKgb/6CjQtsofvzxmC/eAehuK3/SINv7wd6Vv2pBt6ZpXgD4VBNKONDl
      GMbkPayVlQjbG4MD2dx2+H8EH3LMtdZrgKvPxPTE+bF5wZVNAgMBAAGgJTAjBgkq
      hkiG9w0BCQcxFhMUQSBjaGFsbGVuZ2UgcGFzc3dvcmQwDQYJKoZIhvcNAQEFBQAD
      gYEAG61CaJoJaVMhzCl903O6Mg51zq1zXcz75+VFj2I6rH9asckCld3mkOVx5gJU
      Ptt5CVQpNgNLdvbDPSsXretysOhqHmp9+CLv8FDuy1CDYfuaLtvlWvfhevskV0j6
      mK3Ku+YiORnv6DhxrOoqau8r/hyI/L43l7IPN1HhOi3oha4=
      -----END CERTIFICATE REQUEST-----
       
      Copy everything from "-----BEGIN ..."  to "END CERTIFICATE REQUEST-----", 
      paste to a file, send to your chosen CA for signing, 
      and finally upload the signed certificate via upload command.
                    ---OR---
      Continue to self sign CSR and overwrite the current certificate?
      All HTTPS and SSH sessions will be disconnected. [y|N]N
              
      
      次の作業

      次のいずれかの作業を実行します。

      • 公共の認証局からの証明書の取得を望んでおらず、組織が独自の認証局を運用していない場合は、CSR から自己署名証明書を内部生成し、すぐにサーバにアップロードするよう、CIMC を設定できます。 この処理を行うには、この例では最後のプロンプトの後に y と入力します。
      • 組織が自己署名証明書を生成するための独自の証明書サーバを運用している場合は、「-----BEGIN ...」から「END CERTIFICATE REQUEST-----」までのコマンド出力をコピーして、csr.txt というファイルに貼り付けます。 CSR ファイルを証明書サーバに入力して、自己署名証明書を生成します。
      • 公共の認証局から証明書を取得する場合は、「-----BEGIN ...」から「END CERTIFICATE REQUEST-----」までのコマンド出力をコピーして、csr.txt というファイルに貼り付けます。 CSR ファイルを認証局に提出して、署名付き証明書を取得します。

      CIMC によって自己署名証明書を内部生成し、アップロードするという最初のオプションを使用しない場合は、証明書コマンド モードで upload コマンドを使用して新しい証明書をアップロードする必要があります。

      自己署名証明書の作成

      パブリック Certificate Authority(CA; 認証局)を使用してサーバ証明書の生成と署名を行う代わりに、独自の CA を運用して独自の証明書に署名することができます。 このセクションでは、Linux で実行されている OpenSSL 証明書サーバを使用して CA を作成するコマンドおよびサーバ証明書を生成するコマンドについて説明します。 OpenSSL の詳細については、http:/​/​www.openssl.org を参照してください。

      (注)  


      これらのコマンドは、CIMC CLI ではなく、OpenSSL パッケージを使用している Linux サーバで入力します。


      はじめる前に

      組織内のサーバで、証明書サーバのソフトウェア パッケージを取得してインストールします。

      手順
         コマンドまたはアクション目的
        ステップ 1 openssl genrsa -out CA_keyfilename keysize


        例:
        # openssl genrsa -out ca.key 1024
         
        このコマンドは、CA で使用される RSA 秘密キーを生成します。
        (注)      ユーザ入力なしで CA がキーにアクセスできるように、このコマンドに -des3 オプションは使用しないでください。

        指定されたファイル名には、指定されたサイズの RSA キーが含まれています。

         
        ステップ 2 openssl req -new -x509 -days numdays -key CA_keyfilename -out CA_certfilename


        例:
        # openssl req -new -x509 -days 365 -key ca.key -out ca.crt
         

        このコマンドは、指定されたキーを使用して、CA の自己署名証明書を新規に作成します。 証明書は指定された期間有効になります。 このコマンドは、ユーザに証明書の追加情報を求めるプロンプトを表示します。

        証明書サーバは、アクティブな CA です。

         
        ステップ 3 echo "nsCertType = server" > openssl.conf


        例:
        # echo "nsCertType = server" > openssl.conf
         

        このコマンドは、証明書がサーバ限定の証明書であることを指定する行を OpenSSL 設定ファイルに追加します。 この指定により、認証されたクライアントがサーバになりすます man-in-the-middle 攻撃を防御できます。

        OpenSSL 設定ファイル openssl.conf には、"nsCertType = server" という文が含まれています。

         
        ステップ 4 openssl x509 -req -days numdays -in CSR_filename -CA CA_certfilename -set_serial 04 -CAkey CA_keyfilename -out server_certfilename -extfile openssl.conf


        例:
        # openssl x509 -req -days 365 -in csr.txt -CA ca.crt -set_serial 04
        -CAkey ca.key -out myserver05.crt -extfile openssl.conf
         

        このコマンドは、CA が CSR ファイルを使用してサーバ証明書を生成するように指示します。

        サーバ証明書は、出力ファイルに含まれています。

         

        この例は、CA の作成方法、および新規に作成された CA が署名するサーバ証明書の生成方法を示します。 これらのコマンドは、OpenSSL を実行している Linux サーバで入力します。

        # /usr/bin/openssl genrsa -out ca.key 1024
        Generating RSA private key, 1024 bit long modulus
        .............++++++
        .....++++++
        e is 65537 (0x10001)
        # /usr/bin/openssl req -new -x509 -days 365 -key ca.key -out ca.crt
        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) [GB]:US
        State or Province Name (full name) [Berkshire]:California
        Locality Name (eg, city) [Newbury]:San Jose
        Organization Name (eg, company) [My Company Ltd]:Example Incorporated
        Organizational Unit Name (eg, section) []:Unit A
        Common Name (eg, your name or your server's hostname) []:example.com
        Email Address []:admin@example.com
        # echo "nsCertType = server" > openssl.conf
        # /usr/bin/openssl x509 -req -days 365 -in csr.txt -CA ca.crt -set_serial 01 -CAkey ca.key -out server.crt -extfile openssl.conf
        Signature ok
        subject=/C=US/ST=California/L=San Jose/O=Example Inc./OU=Unit A/CN=example.com/emailAddress=john@example.com
        Getting CA Private Key
        #
        
        次の作業

        新しい証明書を CIMC にアップロードします。

        サーバ証明書のアップロード

        はじめる前に

        証明書をアップロードするには、admin 権限を持つユーザとしてログインする必要があります。

        アップロードする証明書は、読み取り可能テキストとして使用できる必要があります。 アップロード手順で、証明書テキストをコピーして CLI に貼り付けます。


        (注)  


        最初に、CIMC 証明書管理 CSR の生成手順を使用して CSR を生成し、その CSR を使用してアップロード用の証明書を取得する必要があります。 この方法で取得されていない証明書はアップロードしないでください。



        (注)  


        新しいサーバ証明書がアップロードされると、現在の HTTPS および SSH セッションはすべて切断されます。


        手順
           コマンドまたはアクション目的
          ステップ 1Server# scope certificate  

          証明書コマンド モードを開始します。

           
          ステップ 2Server /certificate # upload  

          新しいサーバ証明書を入力してアップロードするためのダイアログが起動します。

           

          プロンプトが表示されたら、証明書テキストをコピーしてコンソールに貼り付け、CTRL を押した状態で D を押して証明書をアップロードします。

          次に、新しい証明書をサーバにアップロードする例を示します。

          Server# scope certificate
          Server /certificate # upload
          Please paste your certificate here, when finished, press CTRL+D.
          -----BEGIN CERTIFICATE-----
          MIIB/zCCAWgCAQAwgZkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UE
          BxMMU2FuIEpvc2UsIENBMRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xEzARBgNVBAsT
          ClRlc3QgR3JvdXAxGTAXBgNVBAMTEHRlc3QuZXhhbXBsZS5jb20xHzAdBgkqhkiG
          9w0BCQEWEHVzZXJAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
          AoGBAMZw4nTepNIDhVzb0j7Z2Je4xAG56zmSHRMQeOGHemdh66u2/XAoLx7YCcYU
          ZgAMivyCsKgb/6CjQtsofvzxmC/eAehuK3/SINv7wd6Vv2pBt6ZpXgD4VBNKONDl
          GMbkPayVlQjbG4MD2dx2+H8EH3LMtdZrgKvPxPTE+bF5wZVNAgMBAAGgJTAjBgkq
          hkiG9w0BCQcxFhMUQSBjaGFsbGVuZ2UgcGFzc3dvcmQwDQYJKoZIhvcNAQEFBQAD
          gYEAG61CaJoJaVMhzCl903O6Mg51zq1zXcz75+VFj2I6rH9asckCld3mkOVx5gJU
          Ptt5CVQpNgNLdvbDPSsXretysOhqHmp9+CLv8FDuy1CDYfuaLtvlWvfhevskV0j6
          mK3Ku+YiORnv6DhxrOoqau8r/hyI/L43l7IPN1HhOi3oha4=
          -----END CERTIFICATE-----
          <CTRL+D>