Sun Java System Messaging Server 6.3 管理指南

23.5.1.6 安装可信 CA 证书

使用 ./msgcert add-cert 安装证书授权机构的证书。CA 证书可验证 CA 自身的标识。服务器在验证客户端和其他服务器的过程中使用这些 CA 证书。

例如,如果除了基于密码的验证之外,您还将您的企业设置为基于证书的客户端验证(请参见第 157 页中的“设置基于证书的登录”),则需要安装所有 CA(可以信任这些 CA 颁发将在客户端显示的证书)的 CA 证书。这些 CA 对于您的组织可能是内部 CA 也可能是外部 CA,代表了商业机构或政府机构或其他企业。(有关将 CA 证书用于验证的详细信息,请参见《Managing Servers With iPlanet Console 5.0》。)

安装后,Messaging Server 初始包含了若干商业 CA 的 CA 证书。如果您需要添加其他商业 CA 或者如果您的企业正在制定(使用 Sun Java System Certificate Server)自己的 CA 以在内部使用,则需要获得并安装其他 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 由是 RFC 1421 至 1424 指定的保密性增强的电子邮件格式,用于以 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 提供了允许您自动下载证书的 Web 站点。其他 CA 将在您请求证书后以电子邮件形式向您发送证书。

    发送请求之后,您必须等待 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 生成证书时,Messaging Server 将具有一个名为 Server-Cert 的默认证书。文本 "Same as issuer" 表示默认证书是自签名的服务器证书。例如:


    # ./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:
    $