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

管理憑證

本節說明如何管理目錄伺服器中的 SSL 憑證。

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

PKI 解決方案與外部憑證授權機構 (CA) 相關。使用 PKI 解決方案時,必須具備 CA 簽署的伺服器憑證,其中包含公開金鑰與私密金鑰。此憑證隨各目錄伺服器而不同。您也需具備可信任的 CA 憑證,其中包含公開金鑰。可信任的 CA 憑證可確保來自您的 CA 之所有伺服器憑證皆可信任。此憑證有時亦稱為 CA 根金鑰或根憑證。


備註 –

若使用憑證進行測試,可能會使用自行簽署的憑證。但在生產環境中使用自行簽署的憑證,並不是安全的做法。在生產環境中,請使用可信任的憑證授權機構 (CA) 憑證。


本節中的程序使用 dsadm dsconf 指令。如需有關這些指令的資訊,請參閱 dsadm(1M) 線上手冊與 dsconf(1M) 線上手冊。

本節提供下列有關在目錄伺服器上配置憑證的資訊:

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

目錄伺服器實例於首次建立時,會包含預設自行簽署的憑證。自行簽署的憑證是成對的公開與私密金鑰組,其中的公開金鑰由私密金鑰所簽署。自行簽署的憑證有效期限為三個月。

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

    若要檢視預設自行簽署的憑證,請使用此指令:


    $ dsadm show-cert instance-path defaultCert

Procedure管理自行簽署的憑證

當您建立目錄伺服器實例時,系統自動提供預設的自行簽署憑證。

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

  1. 若要以非預設設定建立自行簽署的憑證,請使用此指令:


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

    其中 cert-alias 是您提供用以識別憑證的名稱。

    若要檢視此指令的所有選項,請參閱 dsadm(1M) 線上手冊或指令行說明:


    $ dsadm add-selfsign-cert --help
  2. 請在自行簽署的憑證到期時更新憑證:


    $ dsadm renew-selfsign-cert instance-path cert-alias
    

Procedure請求 CA 簽署的伺服器憑證

此程序說明如何請求及安裝用於目錄伺服器的 CA 簽署伺服器憑證。

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

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


    $ dsadm request-cert [-W cert-pwd-file] {-S DN | --name name [--org org] [--org-unit org-unit \
      [--city city] [--state state] [--country country]} [-o output-file] [-F format] instance-path
    

    例如,若要為 Example 公司請求 CA 簽署的伺服器憑證,請使用此指令:


    $ dsadm request-cert --name host1 --org Example --org-unit Marketing \
     -o my_cert_request_file /local/ds

    為完整識別伺服器,憑證授權機構可能會要求此範例中所顯示的所有屬性。如需每個屬性的說明,請參閱 dsadm(1M) 線上手冊。

    當您使用 dsadm request-cert 請求憑證時,除非指定 ASCII 做為輸出格式,否則所產生的憑證請求將是二進位憑證請求。若您指定 ASCII,所產生的憑證請求則會是 PEM 格式的 PKCS #10 憑證請求。PEM 是 RFC 1421 至 1424 (http://www.ietf.org/rfc/rfc1421.txt) 所指定的安全電子郵件 (Privacy Enhanced Mail) 格式,可用以透過 US-ASCII 字元呈現 base64 編碼的憑證請求。請求的內容如下列範例所示:


    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIBrjCCARcCAQAwbjELMAkGA1UBhMCVXMxEzARBgNVBAgTCkNBElGT1JOSUExLD
    AqBgVBAoTI25ldHNjYXBlIGNvb11bmljYXRpb25zIGNvcnBvcmF0aWuMRwwGgYDV
    QQDExNtZWxsb24umV0c2NhcGUuY29tMIGfMA0GCSqGSIb3DQEBAUAA4GNADCBiQK
    BgCwAbskGh6SKYOgHy+UCSLnm3ok3X3u83Us7u0EfgSLR0f+K41eNqqWRftGR83e
    mqPLDOf0ZLTLjVGJaHJn4l1gG+JDf/n/zMyahxtV7+T8GOFFigFfuxJaxMjr2j7I
    vELlxQ4IfZgwqCm4qQecv3G+N9YdbjveMVXW0v4XwIDAQABAAwDQYJKoZIhvcNAQ
    EEBQADgYEAZyZAm8UmP9PQYwNy4Pmypk79t2nvzKbwKVb97G+MT/gw1pLRsuBoKi
    nMfLgKp1Q38K5Py2VGW1E47/rhm3yVQrIiwV+Z8Lcc=
    -----END NEW CERTIFICATE REQUEST-----
  2. 根據適當程序,將憑證請求傳輸到您的憑證授權機構。

    取得憑證授權機構憑證的程序會因使用的憑證授權機構而異。有些商業 CA 會提供網站供您自動下載憑證。其他 CA 則會在您請求時,以電子郵件傳送。

    傳送請求之後,必須等候 CA 回應以提供憑證。請求的回應時間各異。例如,若您的 CA 屬公司內部,則可能只需一或兩天即可回應您的請求。若所選取的 CA 屬公司外部,則可能需要數週才可回應您的請求。

  3. 請儲存您從憑證授權機構接收的憑證。

    將憑證備份在安全之處。萬一憑證遺失,可以使用備份檔案重新加以安裝。可以將其儲存於文字檔中。PEM 格式的 PKCS #11 憑證內容如下列範例所示:


    -----BEGIN CERTIFICATE-----
    MIICjCCAZugAwIBAgICCEEwDQYJKoZIhKqvcNAQFBQAwfDELMAkGA1UEBhMCVVMx
    IzAhBgNVBAoGlBhbG9a2FWaWxsZGwSBXaWRnZXRzLCBJbmMuMR0wGwYDVQQLExRX
    aWRnZXQgTW3FrZXJzICdSJyBVczEpMCcGAx1UEAxgVGVzdCBUXN0IFRlc3QgVGVz
    dCBUZXN0IFlc3QgQ0EswHhcNOTgwMzEyMDIzMzUWhcNOTgwMzI2MDIzMpzU3WjBP
    MQswCYDDVQQGEwJVUzEoMCYGA1UEChMfTmV0c2NhcGUgRGlyZN0b3J5VIFB1Ymxp
    Y2F0aW9uczEWMB4QGA1UEAxMNZHVgh49dq2tLNvbjTBaMA0GCSqGSIb3DQEBAQUA
    A0kAMEYkCQCksMR/aLGdfp4m0OiGgijG5KgOsyRNvwGYW7kfW+8mmijDtZaRjYNj
    jcgpF3VnlbxbclX9LVjjNLC5737XZdAgEDozYwpNDARBglghkgBhvhCEAQEEBAMC
    APAwHkwYDVR0jBBgwFAU67URjwCaGqZHUpSpdLxlzwJKiMwDQYJKoZIhQvcNAQEF
    BQADgYEAJ+BfVem3vBOPBveNdLGfjlb9hucgmaMcQa9FA/db8qimKT/ue9UGOJqL
    bwbMKBBopsDn56p2yV3PLIsBgrcuSoBCuFFnxBnqSiTS7YiYgCWqWaUA0ExJFmD6
    6hBLseqkSWulk+hXHN7L/NrViO+7zNtKcaZLlFPf7d7j2MgX4Bo=
    -----END CERTIFICATE-----

Procedure增加 CA 簽署的伺服器憑證與可信任的 CA 憑證

此程序說明如何安裝用於目錄伺服器之 CA 簽署的伺服器憑證與可信任的 CA 憑證。

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

  1. 增加 CA 簽署的伺服器憑證。


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

    其中 cert-alias 是提供用以識別憑證的名稱,而 cert-file 是文字檔,內含 PEM 格式的 PKCS #11 憑證。

    例如,若要安裝 CA 簽署的伺服器憑證,可以使用如下的指令:


    $ dsadm add-cert /local/ds server-cert /local/safeplace/serv-cert-file

    憑證此時已完成安裝,但尚未受信任。若要信任 CA 簽署的伺服器憑證,必須安裝憑證授權機構的憑證。

  2. 增加可信任的憑證授權機構憑證。


    $ dsadm add-cert -C instance-path cert-alias cert-file
    

    -C 選項指出此憑證為可信任的憑證授權機構憑證。

    例如,若要安裝憑證授權機構所提供之可信任的憑證,必須使用此指令:


    $ dsadm add-cert -C /local/ds CA-cert /local/safeplace/ca-cert-file
  3. (可選擇) 驗證所安裝的憑證。

    • 若要列出所有伺服器憑證並顯示其有效日期與別名,請鍵入:


      $ dsadm list-certs instance-path
      

      例如:


      $ dsadm list-certs /local/ds1
      Enter the certificate database password:
      Alias       Valid from Expires on Self-   Issued by          Issued to
                                        signed?                                     
      ----------- ---------- ---------- ------- -----------------  -----------------
      serverCert  2000/11/10 2011/02/10 n       CN=CA-Signed Cert, CN=Test Cert,
                  18:13      18:13              OU=CA,O=com        dc=example,dc=com
      defaultCert 2006/05/18 2006/08/18 y       CN=host1,CN=DS,    Same as issuer
                  16:28      16:28              dc=example,dc=com
      2 certificates found

      目錄代理伺服器的實例預設會包含名為 defaultCert 的預設伺服器憑證。Same as issuer 表示預設憑證為自行簽署的伺服器憑證。

    • 若要列出可信任的 CA 憑證,請鍵入:


      $ dsadm list-certs -C instance-path
      

      例如:


      $ dsadm list-certs -C /local/ds1
      Enter the certificate database password:
      Alias   Valid from Expires on Self-   Issued by           Issued to
                                    signed?                                     
      ------- ---------- ---------- ------- -----------------   -----------------
      CA-cert 2000/11/10 2011/02/10 y       CN=Trusted CA Cert, Same as issuer
              18:12      18:12              OU=CA,O=com
      1 certificate found
    • 若要檢視憑證的詳細資訊 (包括憑證過期日),請鍵入:


      $ dsadm show-cert instance-path cert-alias
      

      例如,若要檢視伺服器憑證,請鍵入:


      $ dsadm show-cert /local/ds1 "Server-Cert"
      Enter the certificate database password:
      Certificate:
          Data:
              Version: 3 (0x2)
              Serial Number: 2 (0x2)
              Signature Algorithm: PKCS #1 MD5 With RSA Encryption
              Issuer:
                  "CN=Server-Cert,O=Sun,C=US"
              Validity:
                  Not Before: Fri Nov 10 18:12:20 2000
                  Not After : Thu Feb 10 18:12:20 2011
              Subject:
                  "CN=CA Server Cert,OU=ICNC,O=Sun,C=FR"
              Subject Public Key Info:
                  Public Key Algorithm: PKCS #1 RSA Encryption
                  RSA Public Key:
                      Modulus:
                          bd:76:fc:29:ca:06:45:df:cd:1b:f1:ce:bb:cc:3a:f7:
                          77:63:5a:82:69:56:5f:3d:3a:1c:02:98:72:44:36:e4:
                          68:8c:22:2b:f0:a2:cb:15:7a:c4:c6:44:0d:97:2d:13:
                          b7:e3:bf:4e:be:b5:6a:df:ce:c4:c3:a4:8a:1d:fa:cf:
                          99:dc:4a:17:61:e0:37:2b:7f:90:cb:31:02:97:e4:30:
                          93:5d:91:f7:ef:b0:5a:c7:d4:de:d8:0e:b8:06:06:23:
                          ed:5f:33:f3:f8:7e:09:c5:de:a5:32:2a:1b:6a:75:c5:
                          0b:e3:a5:f2:7a:df:3e:3d:93:bf:ca:1f:d9:8d:24:ed
                      Exponent: 65537 (0x10001)
          Signature Algorithm: PKCS #1 MD5 With RSA Encryption
          Signature:
              85:92:42:1e:e3:04:4d:e5:a8:79:12:7d:72:c0:bf:45:
              ea:c8:f8:af:f5:95:f0:f5:83:23:15:0b:02:73:82:24:
              3d:de:1e:95:04:fb:b5:08:17:04:1c:9d:9c:9b:bd:c7:
              e6:57:6c:64:38:8b:df:a2:67:f0:39:f9:70:e9:07:1f:
              33:48:ea:2c:18:1d:f0:30:d8:ca:e1:29:ec:be:a3:43:
              6f:df:03:d5:43:94:8f:ec:ea:9a:02:82:99:5a:54:c9:
              e4:1f:8c:ae:e2:e8:3d:50:20:46:e2:c8:44:a6:32:4e:
              51:48:15:d6:44:8c:e6:d2:0d:5f:77:9b:62:80:1e:30
          Fingerprint (MD5):
              D9:FB:74:9F:C3:EC:5A:89:8F:2C:37:47:2F:1B:D8:8F
          Fingerprint (SHA1):
              2E:CA:B8:BE:B6:A0:8C:84:0D:62:57:85:C6:73:14:DE:67:4E:09:56
      
          Certificate Trust Flags:
              SSL Flags:
                  Valid CA
                  Trusted CA
                  User
                  Trusted Client CA
              Email Flags:
                  User
              Object Signing Flags:
                  User

Procedure更新過期的 CA 簽署伺服器憑證

當您的 CA 簽署伺服器憑證 (公開金鑰與私密金鑰) 過期時,請使用此程序加以更新。

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

  1. 從憑證授權機構取得更新的 CA 簽署伺服器憑證。

  2. 收到更新的憑證後,請加以安裝。


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

Procedure匯出及匯入 CA 簽署伺服器憑證

有時您可能會想匯出憑證的公開與私密金鑰,以便後續可匯入憑證。例如,可能會想讓其他伺服器使用您的憑證。

此程序中的指令可用於含有萬用字元的憑證,例如 "cn=*,o=example"

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

  1. 匯出憑證。


    $ dsadm export-cert [-o output-file] instance-path cert-alias
    

    例如:


    $ dsadm export-cert -o /tmp/first-certificate /local/ds1 "First Certificate"
    $ dsadm export-cert -o /tmp/first-ca-server-certificate /local/ds1/ defaultCert
    Choose the PKCS#12 file password:
    Confirm the PKCS#12 file password:
    $ ls /tmp
    first-ca-server-certificate
     
  2. 匯入憑證。


    $ dsadm import-cert instance-path cert-file
    

    例如,若要將憑證匯入 host1 上的伺服器實例:


    $ dsadm import-cert -h host1 /local/ds2 /tmp/first-ca-server-certificate
    Enter the PKCS#12 file password:
     
  3. (可選擇) 若已將憑證匯入伺服器,請配置伺服器以使用匯入的憑證。


    $ dsconf set-server-prop -e -h host -p port -w - ssl-rsa-cert-name:server-cert

配置憑證資料庫密碼

目錄伺服器預設會透過儲存的密碼,在內部管理 SSL 憑證資料庫密碼。管理憑證時,使用者並不需鍵入憑證密碼或指定密碼檔案。此選項僅會隱藏密碼,而不會對密碼進行加密,因此並不安全。

但若您在使用憑證時想要有更多的控制,則可以配置伺服器,讓使用者在使用指令行時必須提供密碼。在此情況下,對於 autostartbackupdisable-serviceenable-service inforeindexrestorestop 以外的所有 dsadm 子指令,使用者都必須鍵入憑證資料庫密碼。憑證資料庫位於 instance-path/alias 目錄中。

Procedure配置伺服器,讓使用者必須提供憑證密碼

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

  1. 停止伺服器。


    $ dsadm stop instance-path
    
  2. 將密碼提示旗標設為 on


    $ dsadm set-flags instance-path cert-pwd-prompt=on

    系統會要求您選擇新的憑證密碼。

  3. 啟動伺服器。


    $ dsadm start instance-path
    

為目錄伺服器備份及復原憑證資料庫

當您備份目錄伺服器的實例時,會備份目錄伺服器的配置與憑證。備份的憑證會儲存在 archive-path/alias 目錄中。

如需有關如何備份及復原目錄伺服器的資訊,請參閱製作嚴重損壞回復所需的備份