Sun Java System Portal Server Secure Remote Access 7.2 管理指南

第 10 章 使用证书

本章介绍证书管理并说明如何安装自签名证书和来自“证书授权机构”的证书。

本章说明以下主题:

SSL 证书简介

Sun Java System Portal Server Secure Remote Access 软件为远程用户提供基于证书的验证。SRA 使用“安全套接字层”(SSL) 来实现安全通信。SSL 协议可在两台机器之间实现安全通信。

SSL 证书使用公共和私有密钥对提供加密和解密功能。

证书的两种类型为:

默认情况下,当安装网关时,将会生成并安装自签名证书。

在安装后,您可随时生成、获取或替换证书。

SRA 还支持用“个人数字证书”(Personal Digital Certificates, PDC) 进行客户机验证。PDC 是一个通过 SSL 客户机验证来验证用户的机制。进行 SSL 客户机验证时,SSL 信号交换将在网关结束。网关提取用户的 PDC 并将其传递给已验证的服务器。该服务器使用 PDC 验证用户。要将 PDC 与验证链一起配置,参见使用验证链

SRA 提供了一个名为 certadmin 的工具,可使用它来管理 SSL 证书。参见 certadmin 脚本


注 –

在 SSL 应用程序中,证书弹出式窗口很常见。建议用户接受警告并继续进行。


证书文件

证书相关文件位于 /etc/opt/SUNWportal/cert/ gateway-profile-name。默认情况下,此目录包含 5 个文件。

证书文件列出了这些文件及其说明。

表 10–1 证书文件

文件名 

类型 

描述 

cert8.dbkey3.dbsecmod.db

二进制 

包含证书、密钥和加密模块的数据。 

可使用 certadmin 脚本处理。

如有必要,可在 Portal Server 主机和网关组件或网关之间共享这些文件。 

.jsspass

隐藏文本文件 

包含 SRA 密钥数据库的加密密码。 

.nickname

隐藏文本文件 

token-name:certificate-name 格式存储网关需要使用的令牌和证书的名称。

如果您使用的是默认令牌(默认内部软件加密模块上的令牌),则省略令牌名。多数情况下,.nickname 文件仅存储证书名。

作为管理员,您可在此文件中修改证书名。您指定的证书此时由网关使用。 

证书的信任属性

证书的信任属性表明以下信息:

按如下顺序表示每一证书的三种可用委托类别:“SSL、电子邮件、对象签名”。对于网关,仅第一种类别有用。在每一类别位置中,将使用多个或不使用任何信任属性代码。

类别的属性代码以逗号分隔,并且整个属性组由引号括在其中。例如,在网关安装期间生成并安装的自签名证书被标记为 "u,u,u",它表示该证书是服务器证书(用户证书),而不是根 CA 证书。

证书的信任属性列出了可能的属性值及每个值的含义。

表 10–2 证书的信任属性

属性 

描述 

有效同级 

委托同级(暗示 p) 

有效 CA 

签发客户机证书的委托 CA(暗示 c) 

签发服务器证书的委托 CA(仅限 SSL)(暗示 c) 

证书可用于验证或签名 

发送警告(当证书在该环境中使用时,与其他属性一起使用以包括警告) 

CA 信任属性

证书数据库中包括大多数众所周知的公共 CA。有关修改公共 CA 的信任属性的信息,参见修改证书的信任属性

CA 信任属性列出了最常见“证书授权机构”及其信任属性。

表 10–3 公共证书授权机构

证书授权机构名 

信任属性 

Verisign/RSA Secure Server CA 

CPp,CPp,CPp 

VeriSign Class 4 Primary CA 

CPp,CPp,CPp 

GTE CyberTrust Root CA 

CPp,CPp,CPp 

GTE CyberTrust Global Root 

CPp,CPp,CPp 

GTE CyberTrust Root 5 

CPp,CPp,CPp 

GTE CyberTrust Japan Root CA 

CPp,CPp,CPp 

GTE CyberTrust Japan Secure Server CA 

CPp,CPp,CPp 

Thawte Personal Basic CA 

CPp,CPp,CPp 

Thawte Personal Premium CA 

CPp,CPp,CPp 

Thawte Personal Freemail CA 

CPp,CPp,CPp 

Thawte Server CA 

CPp,CPp,CPp 

Thawte Premium Server CA 

CPp,CPp,CPp 

American Express CA 

CPp,CPp,CPp 

American Express Global CA 

CPp,CPp,CPp 

Equifax Premium CA 

CPp,CPp,CPp 

Equifax Secure CA 

CPp,CPp,CPp 

BelSign Object Publishing CA 

CPp,CPp,CPp 

BelSign Secure Server CA 

CPp,CPp,CPp 

TC TrustCenter, Germany, Class 0 CA 

CPp,CPp,CPp 

C TrustCenter, Germany, Class 1 CA 

CPp,CPp,CPp 

TC TrustCenter, Germany, Class 2 CA 

CPp,CPp,CPp 

TC TrustCenter, Germany, Class 3 CA 

CPp,CPp,CPp 

TC TrustCenter, Germany, Class 4 CA 

CPp,CPp,CPp 

ABAecom (sub., Am. Bankers Assn.) Root CA 

CPp,CPp,CPp 

Digital Signature Trust Co. Global CA 1 

CPp,CPp,CPp 

Digital Signature Trust Co. Global CA 3 

CPp,CPp,CPp 

Digital Signature Trust Co. Global CA 2 

CPp,CPp,CPp 

Digital Signature Trust Co. Global CA 4 

CPp,CPp,CPp 

Deutsche Telekom AG Root CA 

CPp,CPp,CPp 

Verisign Class 1 Public Primary Certification Authority 

CPp,CPp,CPp 

Verisign Class 2 Public Primary Certification Authority 

CPp,CPp,CPp 

Verisign Class 3 Public Primary Certification Authority 

CPp,CPp,CPp 

Verisign Class 1 Public Primary Certification Authority - G2 

CPp,CPp,CPp 

Verisign Class 2 Public Primary Certification Authority - G2 

CPp,CPp,CPp 

Verisign Class 3 Public Primary Certification Authority - G2 

CPp,CPp,CPp 

Verisign Class 4 Public Primary Certification Authority - G2 

CPp,CPp,CPp 

GlobalSign Root CA 

CPp,CPp,CPp 

GlobalSign Partners CA 

CPp,CPp,CPp 

GlobalSign Primary Class 1 CA 

CPp,CPp,CPp 

GlobalSign Primary Class 2 CA 

CPp,CPp,CPp 

GlobalSign Primary Class 3 CA 

CPp,CPp,CPp 

ValiCert Class 1 VA 

CPp,CPp,CPp 

ValiCert Class 2 VA 

CPp,CPp,CPp 

ValiCert Class 3 VA 

CPp,CPp,CPp 

Thawte Universal CA Root 

CPp,CPp,CPp 

Verisign Class 1 Public Primary Certification Authority - G3 

CPp,CPp,CPp 

Verisign Class 2 Public Primary Certification Authority - G3 

CPp,CPp,CPp 

Verisign Class 3 Public Primary Certification Authority - G3 

CPp,CPp,CPp 

Verisign Class 4 Public Primary Certification Authority - G3 

CPp,CPp,CPp 

Entrust.net Secure Server CA 

CPp,CPp,CPp 

Entrust.net Secure Personal CA 

CPp,CPp,CPp 

Entrust.net Premium 2048 Secure Server CA 

CPp,CPp,CPp 

ValiCert OCSP Responder 

CPp,CPp,CPp 

Baltimore CyberTrust Code Signing Root 

CPp,CPp,CPp 

Baltimore CyberTrust Root 

CPp,CPp,CPp 

Baltimore CyberTrust Mobile Commerce Root 

CPp,CPp,CPp 

Equifax Secure Global eBusiness CA 

CPp,CPp,CPp 

Equifax Secure eBusiness CA 1 

CPp,CPp,CPp 

Equifax Secure eBusiness CA 2 

CPp,CPp,CPp 

Visa International Global Root 1 

CPp,CPp,CPp 

Visa International Global Root 2 

CPp,CPp,CPp 

Visa International Global Root 3 

CPp,CPp,CPp 

Visa International Global Root 4 

CPp,CPp,CPp 

Visa International Global Root 5 

CPp,CPp,CPp 

beTRUSTed Root CA 

CPp,CPp,CPp 

Xcert Root CA 

CPp,CPp,CPp 

Xcert Root CA 1024 

CPp,CPp,CPp 

Xcert Root CA v1 

CPp,CPp,CPp 

Xcert Root CA v1 1024 

CPp,CPp,CPp 

Xcert EZ 

CPp,CPp,CPp 

CertEngine CA 

CPp,CPp,CPp 

BankEngine CA 

CPp,CPp,CPp 

FortEngine CA 

CPp,CPp,CPp 

MailEngine CA 

CPp,CPp,CPp 

TraderEngine CA 

CPp,CPp,CPp 

USPS Root 

CPp,CPp,CPp 

USPS Production 1 

CPp,CPp,CPp 

AddTrust Non-Validated Services Root 

CPp,CPp,CPp 

AddTrust External Root 

CPp,CPp,CPp 

AddTrust Public Services Root 

CPp,CPp,CPp 

AddTrust Qualified Certificates Root 

CPp,CPp,CPp 

Verisign Class 1 Public Primary OCSP Responder 

CPp,CPp,CPp 

Verisign Class 2 Public Primary OCSP Responder 

CPp,CPp,CPp 

Verisign Class 3 Public Primary OCSP Responder 

CPp,CPp,CPp 

Verisign Secure Server OCSP Responder 

CPp,CPp,CPp 

Verisign Time Stamping Authority CA 

CPp,CPp,CPp 

Thawte Time Stamping CA 

CPp,CPp,CPp 

E-Certify CA 

CPp,CPp,CPp 

E-Certify RA 

CPp,CPp,CPp 

Entrust.net Global Secure Server CA 

CPp,CPp,CPp 

Entrust.net Global Secure Personal CA 

CPp,CPp,CPp 

certadmin 脚本

您可使用 certadmin 脚本完成以下证书管理任务:

生成自签名证书

您需要为每个服务器与网关之间的 SSL 通信生成证书。

Procedure在安装后生成自签名证书

  1. 以超级用户身份,在您要为其生成证书的网关机器上运行 certadmin 脚本:


    portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name
    

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10) Quit
    choice: [10]
    1
    
  2. 选择证书管理菜单上的选项 1

    证书管理脚本询问您是否要保留现有数据库文件。

  3. 输入组织特定信息、令牌名和证书名。


    注 –

    对于通配符证书,在主机的全限定 DNS 名中指定一个 *。例如,如果主机的全限定 DNS 名为 abc.sesta.com,则将其指定为 *.sesta.com。现在,生成的证书对 sesta.com 域中的所有主机名均有效。



    What is the fully-qualified DNS name of this host? [host_name.domain_name]
    What is the name of your organization (ex: Company)? []
    What is the name of your organizational unit (ex: division)? []
    What is the name of your City or Locality? []
    What is the name (no abbreviation please) of your State or Province? []
    What is the two-letter country code for this unit? []
    Token name is needed only if you are not using the default internal 
    (software) cryptographic module, for example, if you want to use a crypto card 
    (Token names could be listed using:
    modutil -dbdir /etc/opt/SUNWportal/cert/gateway-profile-name -list);
    Otherwise, just hit Return below.
    Please enter the token name. []
    Enter the name you like for this certificate?
    Enter the validity period for the certificate (months) [6]
    A self-signed certificate is generated and the prompt returns.

    令牌名(默认值为空)和证书名存储在 /etc/opt/SUNWportal/cert/ gateway-profile-name 下面的 .nickname 文件中。

  4. 重新启动网关以使证书生效:


    ./psadmin start-sra-instance -u amadmin -f passwordfile -N profilename -t gateway

生成证书签名请求 (CSR)

需先生成包含 CA 所需信息的证书签名请求,方可从 CA 定购证书。

Procedure生成 CSR

  1. 以超级用户身份,运行 certadmin 脚本:


    portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name
    

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10) Quit
    choice: [10]
    2
    
  2. 选择证书管理菜单上的选项 2

    脚本会提示您输入组织特定信息、令牌名以及 Web 站点管理员的电子邮件和电话号码。

    确保指定主机的全限定 DNS 名。


    What is the fully-qualified DNS name of this host? [snape.sesta.com]
    What is the name of your organization (ex: Company)? []
    What is the name of your organizational unit (ex: division)? []
    What is the name of your City or Locality? []
    What is the name (no abbreviation please) of your State or Province? []
    What is the two-letter country code for this unit? []
    Token name is needed only if you are not using the default internal 
    (software) cryptographic module, 
    for example, if you want to use a crypto card 
    (Token names could be listed using: 
    modutil -dbdir /etc/opt/SUNWportal/cert -list);
    Otherwise, just hit Return below.
    Please enter the token name []
    Now input some contact information for
    the webmaster of the machine that the certificate 
    is to be generated for.
    What is the email address of the admin/webmaster for this server [] ?
    What is the phone number of the admin/webmaster for this server [] ?
  3. 键入全部所需信息。


    注 –

    请勿将 Web 站点管理员的电子邮件和电话号码留为空白。此信息对于获取有效 CSR 是必需的。


    会产生 CSR 并将其存储在 portal-server-install-root /SUNWportal/bin/csr.hostname.datetimestamp 文件中。CSR 也会打印在屏幕上。当您从 CA 定购证书时,可直接复制并粘贴 CSR。

添加根 CA 证书

如果客户机站点所提交的经 CA 签名的证书不为网关证书数据库所知,则 SSL 握手将会失败。

为防止出现此情况,您需要向证书数据库中添加根 CA 证书。这将确保使 CA 为网关所知。

浏览到 CA 的 Web 站点并获取该 CA 的根证书。当您使用 certadmin 脚本时,要指定根 CA 证书的文件名和路径。

Procedure添加根 CA 证书

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name
    

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10) Quit
    choice: [10]
    3
    
  2. 选择证书管理菜单上的选项 3

  3. 输入包含根证书的文件名,并输入证书名。

    根 CA 证书会被添加到证书数据库。

安装来自证书授权机构的 SSL 证书

在安装网关过程中,默认情况下将创建并安装自签名证书。在安装之后,您可随时安装由供应商(提供官方证书授权机构 (CA) 服务)或您公司的 CA 签名的 SSL 证书。

此项任务涉及三个步骤:

从 CA 定购证书

在生成证书签名请求 (CSR) 后,您需要使用 CSR 从 CA 定购证书。

Procedure从 CA 定购证书

  1. 转到证书授权机构的 Web 站点,并定购您的证书。

  2. 提供 CA 所需的 CSR。提供 CA 所需的其他信息(如果需要)。

    您会收到来自 CA 的证书。将其保存到文件中。在文件中需包括连同证书在内的 "BEGIN CERTIFICATE" 和 "END CERTIFICATE" 行。

    以下示例省略了实际的证书数据。


    -----BEGIN CERTIFICATE-----
    The certificate contents...
    ----END CERTIFICATE-----

安装来自 CA 的证书

使用 certadmin 脚本,在 /etc/opt/SUNWportal/cert/ gateway-profile-name 下的本地数据库文件中安装从 CA 获取的证书。

Procedure安装来自 CA 的证书

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name
    

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    4
    
  2. 选择证书管理菜单上的选项 4

    脚本要求您输入证书文件名、证书名和令牌名。


    What is the name (including path) of file that contains the certificate?
    Please enter the token name you used when creating CSR for this certificate. []
  3. 提供全部所需的信息。

    证书被安装在 /etc/opt/SUNWportal/cert/gateway-profile-name 中,并且返回屏幕提示。

  4. 重新启动网关以使证书生效:


    ./psadmin start-sra-instance -u amadmin -f passwordfile -N profilename -t gateway

删除证书

通过使用证书管理脚本可删除证书。

Procedure删除证书

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root/SUNWportal/bin/certadmin -n

    其中,gateway-profile-name 是网关实例名。

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    5
    
  2. 选择证书管理菜单上的选项 5

  3. 输入要删除证书的名称。

修改证书的信任属性

证书的信任属性需要修改的一种情况便是,同时使用客户机验证和网关。PDC(个人数字证书)是客户机验证的一个示例。签发 PDC 的 CA 必须要受网关委托,并且必须将 CA 证书标记为 "T" 以满足 SSL。

如果安装网关与 HTTPS 站点进行通信,则 HTTPS 站点服务器证书的 CA 必须要受网关委托,并且必须将 CA 证书标记为 "C" 以满足 SSL。

Procedure修改证书的信任属性

  1. 以超级用户身份,运行 certadmin 脚本。


    gateway-install-root/SUNWportal/bin/certadmin -n
    gateway-profile-name
    

    其中,gateway-profile-name 是网关实例名。

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    6
    
  2. 选择证书管理菜单上的选项 6

  3. 输入证书名。例如,Thawte Personal Freemail CA。


    Please enter the name of the certificate?
    Thawte Personal Freemail CA
  4. 输入证书的信任属性。


    Please enter the trust attribute you want the 
    certificate to have [CT,CT,CT]

    证书信任属性将被更改。

列出根 CA 证书

通过使用证书管理脚本可查看所有根 CA 证书。

Procedure查看根 CA 的列表

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root/SUNWportal/bin/certadmin -n
    gateway-profile-name
    

    其中,gateway-profile-name 是网关实例名。

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    7
    
  2. 选择证书管理菜单上的选项 7

    显示所有根 CA 证书。

列出所有证书

通过使用证书管理脚本可查看所有证书及其相应的信任属性。

Procedure列出所有证书

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root
    /SUNWportal/bin/certadmin -n
    gateway-profile-name
    

    其中,gateway-profile-name 是网关实例名。

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    8
    
  2. 选择证书管理菜单上的选项 8

    显示所有 CA 证书。

打印证书

通过使用证书管理脚本可打印证书。

Procedure打印证书

  1. 以超级用户身份,运行 certadmin 脚本。


    portal-server-install-root/SUNWportal/bin/certadmin -n
     gateway-profile-name
    

    其中,gateway-profile-name 是网关实例名。

    显示证书管理菜单。


    1) Generate Self-Signed Certificate
    2) Generate Certificate Signing Request (CSR)
    3) Add Root CA Certificate
    4) Install Certificate From Certificate Authority (CA)
    5) Delete Certificate
    6) Modify Trust Attributes of Certificate (e.g., for PDC)
    7) List Root CA Certificates
    8) List All Certificates
    9) Print Certificate Content
    10)Quit
    choice: [10]
    9
    
  2. 选择证书管理菜单上的选项 9

  3. 输入证书名。