使用 ./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 使用之程序。
也可以使用 Directory Server 管理主控台以執行此作業。
產生 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----- |
依據程序,將憑證請求傳送至您的憑證授權機構。
取得憑證授權機構的憑證之程序,會隨您使用的憑證授權機構而異。有些商業 CA 會提供網站供您自動下載憑證。其他 CA 會在請求下傳送電子郵件給您。
傳送請求之後,必須等候 CA 回應以提供憑證。請求的回應時間並不一定。例如,若您的 CA 屬公司內部,則可能只需一或兩天即可回應您的請求。若所選取的 CA 屬公司外部,則可能需要數週才可回應您的請求。
請儲存從憑證授權機構接收的憑證。
您應將憑證備份在安全之處。萬一憑證遺失,可以使用備份檔案重新加以安裝。可以將其儲存於文字檔中。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----- |
也可以使用 Directory Server 管理主控台以執行此作業。
使用以下指令增加 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 簽署的伺服器憑證,必須安裝憑證授權機構的憑證。
使用以下指令增加信任的憑證授權機構憑證:
msgcert add-cert -C cert_alias cert_file |
C 選項指出此憑證為信任的憑證授權機構憑證。
例如,若要安裝憑證授權機構所提供之信任的憑證,必須使用此指令:
msgcert add-cert -C CA-cert /my_cert/ca-cert-file |
您可以選擇使用以下指令驗證已安裝的憑證:
若要列出所有伺服器憑證,顯示別名和有效日期等資訊:
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 |
當您的 CA 簽署伺服器憑證 (公開金鑰與私密金鑰) 過期時,可以使用以下程序加以更新。也可以使用 Directory Server 管理主控台以執行此作業。
在某些情況下,可能需要匯出憑證,以在稍後匯入憑證 (例如匯入其他主機)。也可以使用 Directory Server 管理主控台以執行此作業。
匯出憑證。
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 |
匯入憑證。
$ msgcert import-cert CERT_FILE |
例如,若要匯入憑證:
$ msgcert import-cert /tmp/first-server-certificate Enter the PKCS#12 file password: $ |