Sun Java System Directory Server Enterprise Edition 6.1 管理ガイド

第 19 章 Directory Proxy Server の証明書

この章では、Directory Proxy Server で証明書を設定する方法について説明します。Directory Server での証明書の設定については、「証明書を管理する」を参照してください。

この章で説明する手順では、dpadm コマンドと dpconf コマンドを使用します。これらのコマンドについては、dpadm(1M) および dpconf(1M) のマニュアルページを参照してください。

この章の内容は次のとおりです。

デフォルトの自己署名付き証明書

Directory Proxy Server インスタンスを作成すると、デフォルトの自己署名付き証明書が組み込まれます。自己署名付き証明書は公開鍵と非公開鍵のペアであり、公開鍵は Directory Proxy Server で自己署名が付けられます。

Procedureデフォルトの自己署名付き証明書の表示

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. デフォルトの自己署名付き証明書を表示します。


    $ dpadm show-cert instance-path defaultservercert

Directory Proxy Server 用の証明書の作成、要求、インストール

Directory Proxy Server で Secure Sockets Layer (SSL) を実行するには、自己署名付き証明書または公開鍵インフラストラクチャー (PKI) ソリューションのいずれかを使用する必要があります。

PKI ソリューションには外部認証局 (CA) が関与します。PKI ソリューションでは CA 署名付きサーバー証明書が必要であり、これには公開鍵と非公開鍵の両方が含まれます。この証明書は、1 つの Directory Proxy Server インスタンスに固有です。また、公開鍵が含まれる「信頼できる CA 証明書」も必要です。信頼できる CA 証明書は、CA からのサーバー証明書はすべて信頼できることを保証します。この証明書は、CA ルート鍵またはルート証明書と呼ばれることもあります。

デフォルト以外の自己署名付き証明書を作成する方法と、CA 署名付き証明書を要求しインストールする方法については、次の手順を参照してください。

ProcedureDirectory Proxy Server 用のデフォルト以外の自己署名付き証明書を作成する

Directory Proxy Server インスタンスを作成すると、デフォルトの自己署名付き証明書が自動的に用意されます。デフォルト以外の設定で自己署名付き証明書を作成する場合は、次の手順を使用します。

この手順では、サーバー証明書用の公開鍵と非公開鍵のペアを作成し、公開鍵が Directory Proxy Server によって署名されます。自己署名付き証明書は、3 か月間有効です。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. Directory Proxy Server 用のデフォルト以外の自己署名付き証明書を作成するには、次のように入力します。


    $ dpadm add-selfsign-cert instance-path cert-alias
    

    ここで、cert-alias は自己署名付き証明書の名前です。

    たとえば、次のように入力して、 my-self-signed-cert という証明書を作成することもできます。


    $ dpadm add-selfsign-cert /local/dps my-self-signed-cert

    すべてのコマンドオプションの説明については、dpadm(1M) のマニュアルページを参照するか、コマンド行で dpadm add-selfsign-cert --help と入力してください。

ProcedureDirectory Proxy Server 用のCA 署名付き証明書を要求する

自己署名付き証明書はテスト目的では便利です。ただし、稼働環境では、信頼できる認証局 (CA) 証明書を使用するほうがより安全です。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. CA 署名付きサーバー証明書を要求します。


    $ dpadm request-cert instance-path cert-alias
    

    ここで、cert-alias は、要求する証明書の名前です。認証局は、サーバーを識別するためにコマンドのすべてのオプションを必要とすることがあります。すべてのコマンドオプションの説明については、dpadm(1M) マニュアルページを参照してください。

    CA 証明書を入手するプロセスは、使用する CA によって異なります。商用 CA のなかには、証明書をダウンロードできる Web サイトを備えているものもあります。また、証明書を電子メールで送信する CA もあります。

    たとえば、次のように入力して、 my-CA-signed-cert という証明書を要求することもできます。


    $ dpadm request-cert -S cn=my-request,o=test /local/dps my-CA-signed-cert
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIBYDCBygIBADAhMQ0wCwYDVQQDEwRnZXJpMRAwDgYDVQQDEwdteWNlcnQ0MIGfMA0GCSqGSIb3
    DQEBAQUAA4GNADCBiQKBgQC3v9ubG468wnjBDAMbRrEkmFDTQzT+LO30D/ALLXOiElVsHrtRyWhJ
    PG9cURI9uwqs15crxCpJvho1kt3SB9+yMB8Ql+CKnCQDHlNAfnn30MjFHShv/sAuEygFsN+Ekci5
    W1jySYE2rzE0qKVxWLSILFo1UFRVRsUnORTX/Nas7QIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEA
    fcQMnZNLpPobiX1xy1ROefPOhksVz8didY8Q2fjjaHG5lajMsqOROzubsuQ9Xh4ohT8kIA6xcBNZ
    g8FRNIRAHCtDXKOdOm3CpJ8da+YGI/ttSawIeNAKU1DApF9zMb7c2lS4yEfWmreoQdXIC9YeKtF6
    zwbn2EmIpjHzETtS5Nk=
    -----END NEW CERTIFICATE REQUEST-----

    dpadm request-cert コマンドを使用して 証明書を要求するとき、証明書要求は PEM (Privacy Enhanced Mail) 形式の PKCS #10 証明書要求です。PEM は、RFC 1421 〜 1424 で指定されている形式です。詳細は、http://www.ietf.org/rfc/rfc1421.txt を参照してください。PEM 形式は、base64 形式で符号化された ASCII 形式の証明書要求を表します。

    CA 署名付き証明書を要求すると、一時的な自己署名付き証明書が作成されます。CA 署名付き証明書を CA から受信しインストールすると、新しい証明書が一時的な自己署名付き証明書に取って代わります。

  2. その手順に従って、証明書要求を CA に送信します。

    証明書要求を送信したら、証明書に関する CA からの回答を待つ必要があります。要求に対する回答が届くまでの時間は、状況によって異なります。たとえば、CA が社内にある場合は、短い時間で回答が届くこともあります。ただし、CA が社外にある場合は、数週間かかることもあります。

  3. CA から受け取った証明書を保存します。

    証明書をテキストファイルで保存し、安全な場所に証明書をバックアップします。

ProcedureDirectory Proxy Server 用の CA 署名付きサーバー証明書をインストールする

CA 署名付きサーバー証明書を信頼するには、証明書を Directory Proxy Server インスタンスにインストールする必要があります。ここで示す手順では、CA 証明書の公開鍵を Directory Proxy Server 上の証明書データベースにインストールします。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. この CA に対する信頼できる CA 証明書がすでにインストール済みかどうかを確認します。

    このためには、「CA 証明書を一覧表示する」で示すように、インストールされているすべての CA 証明書をリストします。

  2. 信頼できる CA 証明書がインストールされていない場合は、それをDirectory Proxy Server インスタンス上の証明書データベースに追加します。


    $ dpadm add-cert instance-path cert-alias cert-file
    

    ここで、cert-alias は信頼できる CA 証明書の名前で、cert-file は信頼できる CA 証明書が含まれるファイルの名前です。

  3. CA 署名付きサーバー証明書を証明書データベースにインストールします。


    $ dpadm add-cert instance-path cert-alias cert-file
    

    ここで、cert-alias は CA 署名付きサーバー証明書の名前で、cert-file は CA 署名付きサーバー証明書が含まれるファイルの名前です。この cert-alias は、証明書要求で使用した cert-alias と同じでなければなりません。

    たとえば、次のように入力して、CA-cert という CA 署名付きサーバー証明書を、/local/dps 上の証明書データベースに追加できます。


    $ dpadm add-cert /local/dps CA-cert /local/safeplace/ca-cert-file.ascii

Directory Proxy Server 用の期限切れ CA 署名付き証明書の更新

この節では、期限切れ CA 署名付きサーバー証明書を更新する方法について説明します。

ProcedureDirectory Proxy Server 用の期限切れ CA 署名付きサーバー証明書を更新する

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. CA から更新された証明書を入手します。

  2. 証明書を Directory Proxy Server のインスタンスにインストールします。


    $ dpadm renew-cert instance-path cert-alias cert-file
    

    ここで、cert-alias は新しい証明書の名前で、cert-file は証明書が含まれるファイルの名前です。すべてのコマンドオプションについては、dpadm(1M) のマニュアルページを参照してください。

証明書のリスト

サーバーと CA 証明書を一覧表示する方法については、次の手順を参照してください。

Procedureサーバー証明書を一覧表示する

ここで示す手順では、Directory Proxy Server の 1 つのインスタンスにインストールされているすべての証明書を一覧表示します。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. Directory Proxy Server インスタンスにある証明書データベース内のサーバー証明書を一覧表示します。


    $ dpadm list-certs instance-path
    

    デフォルトでは、Directory Proxy Server のインスタンスには、defaultservercert というサーバー証明書が含まれます。Same as issuer は、デフォルト証明書が自己署名付きサーバー証明書であることを示します。

    次に例を示します。


    $ dpadm list-certs /local/dps
    Alias             Valid from       Expires on       Self-signed? Issued by          Issued to
    ----------------- ---------------- ---------------- ------------ ------------------ --------------
    defaultservercert 2006/06/01 04:15 2008/05/31 04:15 y            CN=myserver:myport Same as issuer
    1 certificate found.

ProcedureCA 証明書を一覧表示する

ここで示す手順では、Directory Proxy Server の 1 つのインスタンスにインストールされている CA 証明書を一覧表示します。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. Directory Proxy Server インスタンスにある証明書データベース内の CA 証明書を一覧表示します。


    $ dpadm list-certs -C instance-path
    

    次に例を示します。


    $ dpadm list-certs -C /local/dps
    Alias   Valid from       Expires on        Built-in  Issued by    Issued to
    ------  ----------       ----------------  --------- ---------    ---------
    CAcert1 1999/06/21 06:00 2020/06/21 06:00  y         CN=company1, O=company2
    ...

バックエンド LDAP サーバーから Directory Proxy Server 上の証明書データベースへの証明書の追加

この節では、証明書をバックエンド LDAP サーバーから Directory Proxy Server 上の証明書データベースに追加する方法について説明します。

Procedure証明書をバックエンド LDAP サーバーから Directory Proxy Server 上の証明書データベースに追加する

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. 次のコマンド構文を使用して、 PEM 形式のバックエンドディレクトリサーバーからの証明書を表示します。


    dsadm show-cert -F ascii instance-path [cert-alias]

    cert-alias を指定しないと、デフォルトのサーバー証明書が表示されます。すべてのコマンドオプションについては、dsadm(1M) のマニュアルページを参照してください。

    たとえば、次のように入力して、デフォルトの自己署名付きサーバー証明書を表示します。


    $ dsadm show-cert -F ascii /local/ds defaultCert
    -----BEGIN CERTIFICATE-----
    MIICJjCCAY+gAwIBAgIFAIKL36kwDQYJKoZIhvcNAQEEBQAwVzEZMBcGA1UEChMQ
    U3VuIE1pY3Jvc3lzdGVtczEZMBcGA1UEAxMQRGlyZWN0b3J5IFNlcnZlcjENMAsG
    A1UEAxMEMjAxMTEQMA4GA1UEAxMHY29uZHlsZTAeFw0wNjA1MjIxMTQxNTVaFw0w
    NjA4MjIxMTQxNTVaMFcxGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGTAXBgNV
    BAMTEERpcmVjdG9yeSBTZXJ2ZXIxDTALBgNVBAMTBDIwMTExEDAOBgNVBAMTB2Nv
    bmR5bGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK9U3ry3sJmEzwQY8CGd
    7S2MTZuBedo03Vea1lfDtD08WIsdDMzhHplTdeHAkWWNc8g2PDcEFXeWp9UXFMuD
    Pcia7t8HtFkm73VmlriWhMd8nn3l2vkxhsPK2LHFEeOIUDR9LBBiMiEeLkjdoEhE
    VLMSoYKqKI+Aa5grINdmtFzBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAF4eDbSd7
    qy2l10dIogT+rnXZ362gLTlQFCblhbGpmmptbegUdL1ITGv/62q1isPV2rW7CkjM
    Cqb0fo3k5UkKKvW+JbMowpQeAPnlgpX612HuDr1tldnKV4eyU7gpG31t/cpACALQ
    7OPi1A7oVb2Z8OJKfEJHkp3txBSsiI2gTkk=
    -----END CERTIFICATE-----
  2. 証明書を保存します。

    証明書をテキストファイルで保存し、安全な場所に証明書をバックアップします。

  3. 証明書をバックエンド LDAP サーバーから Directory Proxy Server のインスタンス上の証明書データベースに追加します。


    $ dpadm add-cert instance-path cert-alias cert-file
    

    ここで、cert-alias は証明書の名前で、cert-file は証明書に含まれるファイルの名前です。

    たとえば、証明書 defaultCert は次のようにして追加できます。


    $ dpadm add-cert /local/dps defaultCert /local/safeplace/defaultCert.ascii

バックエンド LDAP サーバーへの証明書のエクスポート

バックエンド LDAP サーバーは、Directory Proxy Server からの証明書を必要とすることがあります。この節では、証明書をバックエンド LDAP サーバーにエクスポートするように Directory Proxy Server を設定する方法について説明します。

Procedureクライアント証明書をバックエンド LDAP サーバーにエクスポートするように Directory Proxy Server を設定する

  1. バックエンド LDAP サーバーに送信する証明書を指定します。


    $ dpconf set-server-prop -h host -p port ssl-client-cert-alias:cert-alias
    

    ここで、cert-alias は証明書の名前です。すべてのコマンドオプションについては、dpconf(1M) のマニュアルページを参照してください。

  2. 証明書の内容をファイルにコピーします。


    $ dpadm show-cert -F ascii -o filename instance-path cert-alias
    
  3. 「CA 署名付きサーバー証明書と信頼できる CA 証明書を追加する」で示すように、証明書をバックエンド LDAP サーバーの証明書データベースに追加します。

次の手順

バックエンド LDAP サーバーをクライアント認証用に設定します。Directory Server 用にこれを行う方法については、「資格レベルと認証方法の設定」を参照してください。

参照

クライアントと Directory Proxy Server 間の証明書ベースの認証の設定については、「証明書ベースの認証を設定する」を参照してください。

Directory Proxy Server 用の証明書データベースのバックアップと復元

サーバー証明書は、dpadm を使って Directory Proxy Server をバックアップするときにバックアップされます。バックアップされた証明書は、 archive-path/alias ディレクトリに格納されます。

Directory Proxy Server のバックアップと復元の方法については、「Directory Proxy Server インスタンスのバックアップと復元」を参照してください。

証明書データベースにアクセスするためのパスワードの入力要求

デフォルトでは、証明書データベース用のパスワードは内部的に管理されます。したがって、証明書パスワードを入力したりパスワードファイルを指定したりする必要はありません。証明書データベースが格納されているパスワードによって内部的に管理されている場合、パスワードは安全な環境に格納されます。

証明書のセキュリティーを高め、さらに管理するためには、コマンド行でパスワードの入力を要求するように Directory Proxy Server を設定します。それにより、すべての dpadm サブコマンドに対してパスワードを入力する要求されます。ただし、autostart backupdisable-service enable-serviceinforestore、および stop は除きます。

パスワードの入力を要求する、または要求しないという Directory Proxy Server の設定の詳細は、次の手順を参照してください。

Procedure証明書データベースにアクセスするためのパスワードの入力を要求する

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. サーバーを停止します。


    $ dpadm stop instance-path
    Directory Proxy Server instance 'instance-path' stopped
  2. パスワードプロンプトフラグを on に設定してから、証明書データベースのパスワードを入力し、確認します。


    $ dpadm set-flags instance-path cert-pwd-prompt=on
    Choose the certificate database password:
    Confirm the certificate database password:
  3. サーバーを起動してから、証明書データベースのパスワードを入力します。


    $ dpadm start instance-path
    Enter the certificate database password:

Procedure証明書データベースにアクセスするためのパスワードの入力要求を無効にする

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. サーバーを停止します。


    $ dpadm stop instance-path
    Directory Proxy Server instance 'instance-path' stopped
  2. パスワードプロンプトフラグを off に設定してから、既存のパスワードを入力します。


    $ dpadm set-flags instance-path cert-pwd-prompt=off
    Enter the old password:
  3. 次のように入力して、サーバーを起動します。


    $ dpadm start instance-path