Sun Java System Directory Server Enterprise Edition 6.0 管理指南

第 19 章 目錄代理伺服器憑證

本章說明如何配置目錄代理伺服器憑證。如需有關配置目錄伺服器憑證的資訊,請參閱管理憑證

本章中的程序使用 dpadmdpconf 指令。如需有關這些指令的資訊,請參閱 dpadm(1M)dpconf(1M) 線上手冊。

本章包含下列主題:

預設的自行簽署憑證

建立目錄代理伺服器實例時,其具有預設的自行簽署憑證。自行簽署的憑證是公開與私密金鑰對,其中公開金鑰是由目錄代理伺服器自行簽署。

Procedure檢視預設的自行簽署憑證

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    檢視預設的自行簽署憑證。


    $ dpadm show-cert instance-path defaultservercert

建立、請求與安裝目錄代理伺服器憑證

若要在目錄代理伺服器上執行安全傳輸層 (SSL),必須使用自行簽署的憑證或公開金鑰基礎架構 (PKI) 解決方案。

PKI 解決方案需要外部憑證授權單位 (CA)。若使用 PKI 解決方案,您需要包含公開金鑰與私密金鑰的 CA 簽署伺服器憑證。此憑證特定於單一目錄代理伺服器實例。您還需要包含公開金鑰之可信任的 CA 憑證。可信任的 CA 憑證確保來自 CA 的所有伺服器憑證皆是可信任的。此憑證有時稱為 CA 根金鑰或根憑證。

如需有關如何建立非預設自行簽署憑證以及如何請求與安裝 CA 簽署憑證的資訊,請參閱下列程序。

Procedure建立目錄代理伺服器的非預設自行簽署憑證

建立目錄代理伺服器實例時,系統自動提供預設的自行簽署憑證。若要以非預設設定值建立自行簽署的憑證,請使用此程序。

該程序會建立伺服器憑證的公開與私密金鑰對,其中公開金鑰是由目錄代理伺服器簽署。自行簽署的憑證有效期限為三個月。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    若要建立目錄代理伺服器的非預設自行簽署憑證,請鍵入:


    $ 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

Procedure請求目錄代理伺服器的 CA 簽署憑證

自行簽署的憑證適用於測試目的。但是,在生產環境中,使用可信任的憑證授權單位 (CA) 憑證更為安全。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 請求 CA 簽署的伺服器憑證。


    $ dpadm request-cert instance-path cert-alias
    

    其中 cert-alias 是請求的憑證名稱。憑證授權單位可能需要指令的所有選項以識別伺服器。如需所有指令選項的說明,請參閱 dpadm(1M) 線上手冊。

    取得 CA 憑證的程序會因使用的 CA 而異。有些商業 CA 提供網站供您下載憑證。其他 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) 格式的 PKCS #10 憑證請求。PEM 是 RFC 1421 到 1424 所指定的格式。如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1421.txt。PEM 格式表示 ASCII 格式的 base64 編碼憑證請求。

    請求 CA 簽署的憑證時,系統會建立臨時的自行簽署憑證。當您從 CA 接收並安裝 CA 簽署憑證之後,新的憑證會取代臨時的自行簽署憑證。

  2. 根據 CA 程序,將憑證請求傳送到 CA。

    傳送請求之後,必須等候 CA 回應以提供憑證。請求的回應時間各異。例如,如果是公司內部的 CA,回應時間可能很短。但如果是公司外部的 CA,可能需要數週才會回應您的請求。

  3. 儲存從 CA 收到的憑證。

    將憑證儲存在文字檔中,並在安全的位置備份憑證。

Procedure安裝目錄代理伺服器的 CA 簽署伺服器憑證

若要信任 CA 簽署的伺服器憑證,必須在目錄代理伺服器實例上安裝該憑證。此程序會將 CA 憑證的公開金鑰安裝至目錄代理伺服器的憑證資料庫中。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 請檢查是否已經安裝此 CA 可信任的 CA 憑證。

    若要執行此作業,請如列出 CA 憑證中所述列出所有安裝的 CA 憑證。

  2. 如果尚未安裝可信任的 CA 憑證,請將該憑證增加至目錄代理伺服器實例的憑證資料庫中。


    $ 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

更新過期的目錄代理伺服器 CA 簽署憑證

本節說明如何更新過期的 CA 簽署伺服器憑證。

Procedure更新過期的目錄代理伺服器 CA 簽署伺服器憑證

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 從 CA 取得更新憑證。

  2. 在目錄代理伺服器實例上安裝憑證。


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

    其中 cert-alias 是新憑證的名稱,而 cert-file 是包含該憑證之檔案的名稱。如需所有指令選項的說明,請參閱 dpadm(1M) 線上手冊。

列出憑證

如需有關如何列出伺服器與 CA 憑證的資訊,請參閱下列程序。

Procedure列出伺服器憑證

此程序列出目錄代理伺服器實例上已安裝的所有憑證。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    列出目錄代理伺服器實例憑證資料庫中的伺服器憑證。


    $ dpadm list-certs instance-path
    

    依預設,目錄代理伺服器實例包含名為 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.

Procedure列出 CA 憑證

此程序列出目錄代理伺服器實例上已安裝的 CA 憑證。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    列出目錄代理伺服器實例憑證資料庫中的 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 伺服器增加至目錄代理伺服器憑證資料庫

本節說明如何將憑證從後端 LDAP 伺服器增加至目錄代理伺服器憑證資料庫。

Procedure將憑證從後端目錄伺服器增加至目錄代理伺服器憑證資料庫

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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 伺服器增加至目錄代理伺服器實例的憑證資料庫。


    $ 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 伺服器可能需要目錄代理伺服器的憑證。本節說明如何配置目錄代理伺服器以匯出憑證至後端 LDAP 伺服器。

Procedure配置目錄代理伺服器以匯出用戶端憑證至後端 LDAP 伺服器

  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 伺服器以執行用戶端認證。如需有關如何執行目錄伺服器此項作業的資訊,請參閱配置用戶端認證

另請參閱

如需有關配置用戶端與目錄代理伺服器之間基於憑證之認證的資訊,請參閱配置基於憑證的認證

備份與復原目錄代理伺服器憑證資料庫

使用 dpadm 備份目錄代理伺服器時,即會備份伺服器憑證。備份的憑證儲存在 archive-path/alias 目錄中。

如需有關如何備份與復原目錄代理伺服器的資訊,請參閱備份與復原目錄代理伺服器實例

提示輸入存取憑證資料庫的密碼

依預設,憑證資料庫的密碼由內部管理。因此,您無須鍵入憑證密碼或指定密碼檔案。當憑證資料庫透過儲存的密碼由內部管理時,密碼儲存在安全的環境中。

若要讓憑證更安全且有更多控制權,請配置目錄代理伺服器提示在指令行中輸入密碼。然後,系統提示您輸入除 autostartbackupdisable-serviceenable-serviceinforestorestop 之外所有 dpadm 子指令的密碼。

如需有關配置目錄代理伺服器提示或不提示輸入密碼的資訊,請參閱下列程序。

Procedure提示輸入存取憑證資料庫的密碼

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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