この章では、Directory Proxy Server で証明書を設定する方法について説明します。Directory Server での証明書の設定については、「証明書の管理」を参照してください。
この章で説明する手順では、dpadm コマンドと dpconf コマンドを使用します。これらのコマンドについては、dpadm(1M) および dpconf(1M) のマニュアルページを参照してください。
この章の内容は次のとおりです。
Directory Proxy Server インスタンスを作成すると、デフォルトの自己署名付き証明書が組み込まれます。自己署名付き証明書は公開鍵と非公開鍵のペアであり、公開鍵は Directory Proxy Server で自己署名が付けられます。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
Directory Proxy Server で Secure Sockets Layer (SSL) を実行するには、自己署名付き証明書または公開鍵インフラストラクチャー (PKI) ソリューションのいずれかを使用する必要があります。
PKI ソリューションには外部認証局 (CA) が関与します。PKI ソリューションでは CA 署名付きサーバー証明書が必要であり、これには公開鍵と非公開鍵の両方が含まれます。この証明書は、1 つの Directory Proxy Server インスタンスに固有です。また、公開鍵が含まれる「信頼できる CA 証明書」も必要です。信頼できる CA 証明書は、CA からのサーバー証明書はすべて信頼できることを保証します。この証明書は、CA ルート鍵またはルート証明書と呼ばれることもあります。
デフォルト以外の自己署名付き証明書を作成する方法と、CA 署名付き証明書を要求しインストールする方法については、次の手順を参照してください。
Directory Proxy Server インスタンスを作成すると、デフォルトの自己署名付き証明書が自動的に用意されます。デフォルト以外の設定で自己署名付き証明書を作成する場合は、次の手順を使用します。
この手順では、サーバー証明書用の公開鍵と非公開鍵のペアを作成し、公開鍵が Directory Proxy Server によって署名されます。自己署名付き証明書は、3 か月間有効です。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
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 と入力してください。
自己署名付き証明書はテスト目的では便利です。ただし、稼働環境では、信頼できる認証局 (CA) 証明書を使用するほうがより安全です。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
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 から受信しインストールすると、新しい証明書が一時的な自己署名付き証明書に取って代わります。
その手順に従って、証明書要求を CA に送信します。
証明書要求を送信したら、証明書に関する CA からの回答を待つ必要があります。要求に対する回答が届くまでの時間は、状況によって異なります。たとえば、CA が社内にある場合は、短い時間で回答が届くこともあります。ただし、CA が社外にある場合は、数週間かかることもあります。
CA から受け取った証明書を保存します。
証明書をテキストファイルで保存し、安全な場所に証明書をバックアップします。
CA 署名付きサーバー証明書を信頼するには、証明書を Directory Proxy Server インスタンスにインストールする必要があります。ここで示す手順では、CA 証明書の公開鍵を Directory Proxy Server 上の証明書データベースにインストールします。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
この CA に対する信頼できる CA 証明書がすでにインストール済みかどうかを確認します。
このためには、「CA 証明書を一覧表示する」で示すように、インストールされているすべての CA 証明書をリストします。
信頼できる CA 証明書がインストールされていない場合は、それをDirectory Proxy Server インスタンス上の証明書データベースに追加します。
$ dpadm add-cert instance-path cert-alias cert-file |
ここで、cert-alias は信頼できる CA 証明書の名前で、cert-file は信頼できる CA 証明書が含まれるファイルの名前です。
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 |
この節では、期限切れ CA 署名付きサーバー証明書を更新する方法について説明します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
CA から更新された証明書を入手します。
証明書を Directory Proxy Server のインスタンスにインストールします。
$ dpadm renew-cert instance-path cert-alias cert-file |
ここで、cert-alias は新しい証明書の名前で、cert-file は証明書が含まれるファイルの名前です。すべてのコマンドオプションについては、dpadm(1M) のマニュアルページを参照してください。
サーバーと CA 証明書を一覧表示する方法については、次の手順を参照してください。
ここで示す手順では、Directory Proxy Server の 1 つのインスタンスにインストールされているすべての証明書を一覧表示します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
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. |
ここで示す手順では、Directory Proxy Server の 1 つのインスタンスにインストールされている CA 証明書を一覧表示します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
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 上の証明書データベースに追加する方法について説明します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
次のコマンド構文を使用して、 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----- |
証明書を保存します。
証明書をテキストファイルで保存し、安全な場所に証明書をバックアップします。
証明書をバックエンド 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 サーバーは、Directory Proxy Server からの証明書を必要とすることがあります。この節では、証明書をバックエンド LDAP サーバーにエクスポートするように Directory Proxy Server を設定する方法について説明します。
バックエンド LDAP サーバーに送信する証明書を指定します。
$ dpconf set-server-prop -h host -p port ssl-client-cert-alias:cert-alias |
ここで、cert-alias は証明書の名前です。すべてのコマンドオプションについては、dpconf(1M) のマニュアルページを参照してください。
証明書の内容をファイルにコピーします。
$ dpadm show-cert -F ascii -o filename instance-path cert-alias |
「CA 署名付きサーバー証明書と信頼できる CA 証明書を追加する」で示すように、証明書をバックエンド LDAP サーバーの証明書データベースに追加します。
バックエンド LDAP サーバーをクライアント認証用に設定します。Directory Server 用にこれを行う方法については、「資格レベルと認証方法の設定」を参照してください。
クライアントと Directory Proxy Server 間の証明書ベースの認証の設定については、「証明書ベースの認証を設定する」を参照してください。
サーバー証明書は、dpadm を使って Directory Proxy Server をバックアップするときにバックアップされます。バックアップされた証明書は、 archive-path/alias ディレクトリに格納されます。
Directory Proxy Server のバックアップと復元の方法については、「Directory Proxy Server インスタンスのバックアップと復元」を参照してください。
デフォルトでは、証明書データベース用のパスワードは内部的に管理されます。したがって、証明書パスワードを入力したりパスワードファイルを指定したりする必要はありません。証明書データベースが格納されているパスワードによって内部的に管理されている場合、パスワードは安全な環境に格納されます。
証明書のセキュリティーを高め、さらに管理するためには、コマンド行でパスワードの入力を要求するように Directory Proxy Server を設定します。それにより、すべての dpadm サブコマンドに対してパスワードの入力を要求されます。ただし、autostart、backup、disable-service、enable-service、info、restore、および stop は除きます。
パスワードの入力を要求する、または要求しないという Directory Proxy Server の設定の詳細は、次の手順を参照してください。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
サーバーを停止します。
$ dpadm stop instance-path Directory Proxy Server instance 'instance-path' stopped |
パスワードプロンプトフラグを on に設定してから、証明書データベースのパスワードを入力し、確認します。
$ dpadm set-flags instance-path cert-pwd-prompt=on Choose the certificate database password: Confirm the certificate database password: |
サーバーを起動してから、証明書データベースのパスワードを入力します。
$ dpadm start instance-path Enter the certificate database password: |
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。