Sun Java System Messaging Server 6.3 管理指南

23.5.1.6 安裝信任的 CA 之憑證

使用 ./msgcert add-cert 安裝憑證授權機構的憑證。CA 憑證可驗證 CA 本身的身份。伺服器會在認證用戶端和其他伺服器的程序中使用這些 CA 憑證。

例如,如果您將企業設定為除了進行基於密碼的認證之外還要進行基於憑證的用戶端認證 (請參閱第157 頁的「設定基於憑證的登入」),則需要安裝所有發放用戶端可能提供之憑證的可信任 CA 的 CA 憑證。這些 CA 可以是您組織內部的,也可以是外部的,代表商業授權機構、政府授權機構或其他企業。(如需有關使用 CA 憑證進行認證的更多詳細資訊,請參閱「Managing Servers With iPlanet Console 5.0」中的「Introduction to Public-Key Cryptography」。)

Messaging Server 在安裝後,最初只包含數個商業 CA 的 CA 憑證。如果您需要增加其他商業 CA 或您的企業要開發自己的 CA 以供內部使用 (使用 Sun Java System Certificate Server),則需要取得並安裝其他 CA 憑證。


備註 –

Messaging Server 自動提供的 CA 憑證最初並未標記為信任其用戶端憑證。如果您要信任由這些 CA 發放的用戶端憑證,則需要編輯信任設定。如需相關說明,請參閱23.5.1 取得憑證


以下程序說明請求與安裝 CA 簽署的伺服器及信任的 CA 憑證,以搭配 Messaging Server 使用之程序。

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

也可以使用 Directory Server 管理主控台以執行此作業。

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


    msgcert request-cert [-W CERT_PW_FILE] {-S DN|--name NAME [--org ORG] [--org-unit ORG-UNIT]
       [--city CITY] [--state STATE] [--country COUNTRY] } [-F FORMAT] [-o OUTPUT_FILE]

    以下是請求 CA 簽署的伺服器憑證範例。該範例會以二進位格式傳回憑證:


    ./msgcert request-cert --name aqua --org siroe --org-unit Messaging -o my_ca_signed_request_cert

    若要以 ASCII 格式傳回憑證,請使用以下指令:


    ./msgcert request-cert --name aqua --org siroe --org-unit Messaging -F ascii -o my_casigned_request_cert

    憑證授權機構通常需要本例中所示的所有屬性,才能完整識別伺服器。如需各屬性的說明,請輸入 ./msgcert request-cert --help。當您使用 msgcert request-cert 請求憑證時,除非指定 ASCII 做為輸出格式,否則所產生的憑證請求將是二進位憑證請求。若您指定 ASCII,所產生的憑證請求則會是 PEM 格式的 PKCS #10 憑證請求。PEM 是由 RFCs 1421 到 1424 指定的私人增強郵件 (Privacy Enhanced Mail) 格式,用來以 US-ASCII 字元表示 base64 編碼的憑證請求。請求的內容如以下範例所示:


    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIBdTCB3wIBADA2MRIwEAYDVQQLEwlNZXNzYWdpbmcxDjAMBgNVBAoTBXNpcm9l
    MRAwDgYDVQQDEwdhcXVhdGljMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDt
    KEh5Fnj/h9GEu18Da6DkJpcNShkwxanjnKs2883ZoUV5Sp4pN7U6Vfbh0414WXZh
    D26m3t81q9b9h47Klkf0pW1X3BB6LOjGOHSt2VoNBI8n3hJ6XiN2zYbrlLTgdKuo
    y0YrSG/kHFnqKghikag9O/Ox+cwD+mpjl2QnsPZgswIDAQABoAAwDQYJKoZIhvcN
    AQEEBQADgYEArqgWQIwNZDC2d3EZawI23Wj9o6Pyvu9J1rkb+NYgIEnNp9jugxqX
    F326N0ABLdHXXNX/2ZvC5TKOgS4RidTBM89N9xJvokmvRGfc+1x80uxy474YdNlZ
    s+nP8AYo9dW9mrLOammozx9HLPSVYNFp4FxekgV2n8QG7WC5rkN5bCE=
    -----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 憑證

也可以使用 Directory Server 管理主控台以執行此作業。

  1. 使用以下指令增加 CA 簽署的伺服器憑證:


    msgcert add-cert cert_alias cert_file
    

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

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


    msgcert add-cert /my_cert/server-cert-file

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

  2. 使用以下指令增加信任的憑證授權機構憑證:


    msgcert add-cert -C cert_alias cert_file
    

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

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


    msgcert add-cert -C CA-cert /my_cert/ca-cert-file
  3. 您可以選擇使用以下指令驗證已安裝的憑證:

    若要列出所有伺服器憑證,顯示別名和有效日期等資訊:


    msgcert list-certs

    以 ./msgcert generate-CertDB 產生傳送郵件伺服器時,預設會有名為 Server-Cert 的預設憑證。「與發行者相同」等文字表示預設憑證為自行簽署的伺服器憑證。例如:


    # ./msgcert list-certs
    Enter the certificate database password:
    Alias          Valid from       Expires on       Self-   Issued by             Issued to
                                                     signed
    ------------   ----------------  --------------- ------  --------------------- -------------------------  --------------
    SelfSignedCrt 2006/07/28 12:58  2006/10/28 12:58   y     CN=SFO,L=SC,ST=ca,C=us  Same as issuer
    Server-Cert   2006/07/28 07:47  2006/10/28 07:47   y     CN=perseids             Same as issuer
    2 certificates found

    若要列出信任的 CA 憑證:


    msgcert list-certs -C

    若要檢視憑證的詳細資訊 (包括憑證過期日):


    msgcert show-cert cert_alias
    

    例如,若要顯示自行簽署的憑證:


    # ./msgcert show-cert MySelfSigned-Cert
    Enter the certificate database password:
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                00:83:35:37:94
            Signature Algorithm: PKCS #1 MD5 With RSA Encryption
            Issuer:
                "CN=siroe,O=comms,OU=Messaging,L=SantaClara,ST=ca,C=us"
            Validity:
                Not Before: Fri Jul 28 19:58:31 2006
                Not After : Sat Oct 28 19:58:31 2006
            Subject:
                "CN=siroe,O=comms,OU=Messaging,L=SantaClara,ST=ca,C=us"
            Subject Public Key Info:
                Public Key Algorithm: PKCS #1 RSA Encryption
                RSA Public Key:
                    Modulus:
                        aa:9d:3d:23:b2:59:39:f3:77:c8:69:7f:b0:d1:ac:d2:
                        4e:81:c8:51:0f:27:6f:a1:21:4b:a9:27:46:d7:0f:b4:
                        c8:44:86:32:5e:4f:2f:1c:2f:a9:b8:a3:49:b5:b8:ab:
                        51:a8:a5:ba:1c:e8:90:7d:46:67:f9:a7:44:c5:1d:24:
                        e6:bd:e8:8f:07:b4:5a:68:41:b1:19:f2:ea:98:ba:25:
                        55:b8:ba:9c:af:bb:43:c3:c0:8f:14:a7:4c:2b:50:b4:
                        ac:df:b5:cd:68:de:a6:14:9d:68:77:d3:8b:7f:de:c0:
                        5d:35:d7:55:8d:b5:c3:14:2a:60:a9:bf:de:96:90:a9
                    Exponent: 65537 (0x10001)
        Signature Algorithm: PKCS #1 MD5 With RSA Encryption
        Signature:
            15:86:f1:cc:85:c9:08:0f:ff:d3:56:d8:e2:c8:ea:3c:
            8e:45:36:be:8b:b0:7d:2f:e9:cd:e3:b4:ad:8c:70:59:
            c8:a5:14:da:9c:fa:7f:70:86:64:34:0b:21:ae:c4:28:
            d2:f5:94:5c:a6:78:0f:d9:fd:fc:c5:5e:37:49:25:a9:
            bc:12:59:cb:fb:4e:e9:d4:8a:8d:3d:41:12:ae:f1:7f:
            8d:d3:10:ac:fb:33:51:5d:0c:1b:dc:23:5f:95:d5:6d:
            c6:1d:e5:ed:13:8b:16:41:89:5b:4d:de:c0:c7:56:a2:
            48:82:38:32:5a:99:d5:21:20:c5:0d:5c:ea:0c:84:aa
        Fingerprint (MD5):
            EF:76:A3:6C:09:4E:BC:6B:87:76:A3:35:70:1F:B2:C4
        Fingerprint (SHA1):
            BB:1C:20:4B:79:3A:F1:49:F0:83:FB:CC:9C:56:10:D3:06:97:AA:07
    
        Certificate Trust Flags:
            SSL Flags:
                Valid CA
                Trusted CA
                User
                Trusted Client CA
            Email Flags:
                User
            Object Signing Flags:
                User

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

當您的 CA 簽署伺服器憑證 (公開金鑰與私密金鑰) 過期時,可以使用以下程序加以更新。也可以使用 Directory Server 管理主控台以執行此作業。

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

  2. 請在收到更新的憑證之後,安裝此憑證。


    msgcert renew-cert cert_alias cert_file
    

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

在某些情況下,可能需要匯出憑證,以在稍後匯入憑證 (例如匯入其他主機)。也可以使用 Directory Server 管理主控台以執行此作業。

  1. 匯出憑證。


    msgcert export-cert [-o OUTPUT_FILE] CERT_ALIAS
    

    例如:


    $ ./msgcert export-cert -o /tmp/first-certificate "First Certificate"
    $./msgcert export-cert -o /tmp/first-server-certificate Server-Cert
    Choose the PKCS#12 file password:
    Confirm the PKCS#12 file password:
    $ls /tmp
    first-server-certificate
    /tmp/first-certificate
  2. 匯入憑證。


    $ msgcert import-cert  CERT_FILE
    

    例如,若要匯入憑證:


    $ msgcert import-cert /tmp/first-server-certificate
    Enter the PKCS#12 file password:
    $