证书中包含的数字数据指定了个人、公司或其他实体的名称,并证明证书中包含的公钥属于该个人。启用 SSL 的服务器必须具有证书,客户机有无证书均可。
证书由证书授权机构(即 CA)颁发并进行数字签名。CA 可以是通过 Internet 销售证书的公司,也可以是负责为您公司的内联网或外部网颁发证书的部门。您可以将您充分信任的 CA 确定为其他用户身份的检验器。
您可以请求证书并将其提交到证书授权机构 (Certificate Authority, CA)。如果公司有自己的内部 CA,则可以向其申请证书。如果打算从商业 CA 处购买证书,请选择一个 CA 并索要所需的特定格式信息。您还可以为服务器创建自签名证书。自签名证书不适用于面向 Internet 的部署,但对于开发和测试却很有帮助,因为它们使您在无需 CA 介入的情况下即可设置测试服务器。
如上所述,证书包含实体(此例中为 Web 服务器)的公钥。公钥是根据特定的算法而生成(证书中还对该算法类型进行了编码)。下一节介绍有关 Web Server 对其密钥支持的算法类型的背景。
单击“服务器证书”选项卡 >“请求”按钮。
选择配置
从需要为其安装证书的配置列表中选择一个配置。
选择令牌
选择包含密钥的令牌(加密设备)。如果密钥存储在由服务器维护的本地密钥数据库中,请选择内部令牌。如果密钥存储在智能卡或者其他外部设备或引擎中,请从下拉式列表框中选择外部令牌的名称。输入选定令牌的密码。
输入详细信息
开始请求过程之前,请确保您了解 CA 所需的信息。无论是从商业 CA 还是内部 CA 请求服务器证书,都需要提供以下信息:
服务器名必须是在 DNS 查找中使用的全限定主机名(例如,www.sun.com)。这是浏览器用于连接至您站点的 URL 中的主机名。如果这两个名称不匹配,客户机将收到证书名称与站点名称不匹配的通知,并怀疑您的证书的真实性。
如果从内部 CA 申请证书,也可以在此字段中输入通配符或正则表达式。多数供应商都不会批准在通用名称中输入通配符或正规表达式的证书请求。
组织是公司、教育机构、合作伙伴等的正式而合法的名称。多数 CA 需要您使用法律文档(例如营业执照副本)来验证此信息。
组织单位是用于说明公司中组织的可选字段。也可以用于标注不太正式的公司名称(不带 Inc.、Corp. 等等)。
地址是通常用于说明组织所在的城市、公国的可选字段。
省/自治区/直辖市为可选字段。
国家/地区是必填的,即您所在国家/地区名称的两个字符的缩写(以 ISO 格式)。美国的国家代码为 US。
所有这些信息组合为一系列属性值对(称为标识名 [DN]),用于形成证书的主题。
选择证书选项
您必须提供密钥信息。您可以选择 RSA 或 ECC 密钥类型。如果密钥类型为 RSA,则密钥大小可以为 1024、2048 或 4098。如果密钥类型为 ECC,则还需要选择一条曲线。请谨记,生成新的密钥对需要花费时间。密钥长度越长,向导生成它所需的时间越长。
请务必选择 CA(稍后会向其提交签署请求)可以支持的密钥类型。
选择证书类型
为自签名证书或 CA 签署的证书选择证书签署授权机构 (Certificate Signing Authority, CSA)。如果选择自签名证书,则还可以关联证书的 HTTP 侦听器。也可以在以后执行此操作。
生成请求
如果是 CA 签名证书,生成的证书请求将以 ASCII 格式提供。如果是自签名证书,则生成的证书将直接安装。如果为自签名类型,请为别名、有效期(月份)和 HTTP 侦听器名称提供相应的值以便处理安全请求。
查看结果
此页面为您提供了选定选项的摘要。单击“完成”可以完成请求的生成。
使用 CLI
要通过 CLI 请求证书,请执行以下命令:
wadm> create-cert-request --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --server-name=servername.org --org=sun --country=ABC --state=DEF --locality=XYZ --token=internal |
请参见 CLI 参考 create-cert-request(1)。
要通过 CLI 创建自签名证书,请参见创建自签名证书。
本节介绍如何配置用于 Web Server 的 Solaris 加密。
使用以下命令从计算机中删除 ./sunw 目录:
%rm -rf $HOME/.sunw
使用以下命令设置新的 PIN:
% pktool setpin Enter new PIN:<type the pin here>
Re-enter new PIN:<retype the pin again>
使用以下命令禁用 pkcs11_kernel.so 和 pkcs11_softtoken.so 文件中的机制:
#cryptoadm disable provider=/usr/lib/security/$ISA/pkcs11_kernel.so mechanism=CKM_SSL3_PRE_MASTER_KEY_GEN,CKM_SSL3_MASTER_KEY_DERIVE,CKM_SSL3_KEY AND_MAC_DERIVE,CKM_SSL3_MASTER_KEY_DERIVE_DH,CKM_SSL3_MD5_MAC,CKM_SSL3_SHA1_MAC
#cryptoadm disable provider=/usr/lib/security/$ISA/pkcs11_softtoken.so mechanism=CKM_SSL3_PRE_MASTER_KEY_GEN,CKM_SSL3_MASTER_KEY_DERIVE,CKM_SSL3_KEY AND_MAC_DERIVE,CKM_SSL3_MASTER_KEY_DERIVE_DH,CKM_SSL3_MD5_MAC,CKM_SSL3_SHA1_MAC
确保禁用 pkcs11_softtoken_extra.so 文件(如果使用)中的机制。
键入以下命令,将 Solaris 加密框架添加到 config 目录下的网络安全服务 (Network Security Services, NSS) 中:
$ cd <install-dir>/<instance-dir>/lib/modutil -dbdir <install-dir>/<instance-dir>/config -nocertdb -add "scf" -libfile /usr/lib/libpkcs11.so -mechanisms RSA
使用以下命令验证注册:
$ cd <install-dir>/<instance-dir>/lib/modutil -dbdir <install-dir>/<instance-dir>/config -nocertdb -list
Listing of PKCS #11 Modules 1. NSS Internal PKCS #11 Module slots: 2 slots attached status: loaded slot: NSS Internal Cryptographic Services token: NSS Generic Crypto Services slot: NSS User Private Key and Certificate Services token: NSS Certificate DB 2. scf library name: /usr/lib/libpkcs11.so slots: 1 slot attached status: loaded slot: Sun Crypto Softtoken token: Sun Software PKCS#11 softtoken 3. Root Certs library name: libnssckbi.so slots: There are no slots attached to this module status: Not loaded
有关创建服务器证书的更多信息,请参见请求证书。
如果 NSS 数据库中存在证书,则可以使用以下 pk12util 命令导出或导入证书:
$pk12util -o server.pk12 -d . -n <server-cert>
$pk12util -i server.pk12 -d . -h "Sun Software PKCS#11 softtoken"
默认情况下,certutil/pk12util 在数据库中搜索 cert8.db 和 key3.db。对于 Web Server,请添加前缀 -P,该服务器使用替代名称 https-instance-hostname-cert8.db 和 https-instance-hostname-key3.db。
在主页中单击“配置”选项卡
在“配置”页中,单击要启用 PKCS#11 和“允许绕过”选项的配置
单击“证书”选项卡
单击“PKCS#11 令牌”子选项卡
在“常规设置”中,选中相应的复选框以启用 PKCS#11 和“允许绕过”
单击“保存”按钮
请参见 CLI 参考 set-pkcs11-prop(1)。
从安装目录中启动 wadm 并执行以下步骤:
$wadm --user=admin Please enter admin-user-password>enter the administration serverpassword $wadm>list-tokens --config=test.sun.com internal Sun Software PKCS#11 softtoken $wadm>create-selfsigned-cert --config=test.sun.com --server-name=test.sun.com --nickname=MyCert --token="Sun Software PKCS#11 softtoken" Please enter token-pin>enter the password CLI201 Command 'create-selfsigned-cert' ran successfully $wadm>set-ssl-prop --config=test.sun.com --http-listener=http-listener-1 enabled=true server-cert-nickname="Sun Software PKCS#11 softtoken:MyCert" CLI201 Command 'set-ssl-prop' ran successfully $wadm>deploy-config test.sun.com CLI201 Command 'deploy-config' ran success
现在,启动 Administration Server。
$ cd <install-dir>/<instance-dir>/bin/startserv Sun Java System Web Server 7.0 Update 3 Please enter the PIN for the "Sun Software PKCS#11 softtoken" token:enter the password info: HTTP3072: http-listener-1: https://test.sun.com:2222 ready to accept requests info: CORE3274: successful server startup
从 CA 获取证书后,您可以使用管理控制台为配置安装此证书。
单击“服务器证书”选项卡 >“安装”按钮。
选择配置
从需要为其安装证书的配置列表中选择一个配置。
选择令牌
选择包含密钥的令牌(加密设备)。如果密钥存储在由服务器维护的本地密钥数据库中,请选择内部令牌。如果密钥存储在智能卡或者其他外部设备或引擎中,请从下拉式列表框中选择外部令牌的名称。输入选定令牌的密码。
输入证书数据
将证书文本粘贴到所提供的文本区域中。复制并粘贴文本时,请确保包含标头 "Begin Certificate" 和 "End Certificate",其中包含起始和终止连字符。您也可以单击“浏览”按钮并手动选择 .DER 文件。
提供证书详细信息
提供将用于此证书的别名。从可用列表中选择 HTTP 侦听器以便处理安全请求。您也可以选择自签名证书选项。
查看结果
此页面为您提供了选定选项的摘要。单击“完成”可以完成安装过程。
使用 CLI
要通过 CLI 安装证书,请执行以下命令:
wadm> install-cert --user=admin --port=8989 --password-file=admin.pwd --config=config1 --token=internal --cert-type=server --nickname=cert1 cert.req |
其中 cert.req 包含证书数据。
请参见 CLI 参考 install-cert(1)。
您可以请求并安装来自其他证书授权机构的证书。业界中有很多 CA。本节介绍如何请求并安装外部服务器证书。
执行请求证书一节中所述的步骤 1 至步骤 5。按照以下说明完成外部证书请求。
在“证书类型”向导中,选择“CA 签名证书”选项,然后单击下一步。
将显示查看页面。检查设置,然后单击完成按钮。
复制包括标头在内的证书签署请求 (Certificate Signing Request, CSR),然后单击关闭按钮。
转至证书授权机构的 Web 站点,办理正式手续以获取该授权机构签名的证书。
将证书保存在本地文件夹中,或者从 Web 站点复制证书。
要安装获取的证书,请执行安装证书中所述的步骤 1 至步骤 3。按照以下说明完成外部证书安装。
在“输入证书数据”页中,粘贴该证书,或者提供在计算机中保存的文件的路径。单击下一步按钮。
输入证书的别名,然后从下拉列表中选择侦听器。单击“下一步”按钮。
将显示查看页面。单击完成按钮以完成安装。
有关设置令牌 PIN 的更多信息,请参见设置令牌密码。
要更新现有证书,请执行以下步骤:
单击“服务器证书”选项卡>“证书名”>“更新”按钮。
提供令牌信息
输入令牌密码(如果需要)。否则,单击“下一步”继续进行操作。
更新证书详细信息
查看证书详细信息,并提供有效期(以月份为单位)。
更新密钥信息
您可以选择 RSA 或 ECC 密钥类型。如果密钥类型为 RSA,则密钥大小可以为 1024、2048 或 4098。如果密钥类型为 ECC,则还需要选择一条曲线。请谨记,生成新的密钥对需要花费时间。
查看摘要
此页面为您提供了选定选项的摘要。单击“完成”以完成更新过程。
在更新管理服务器证书后,必须重新启动管理服务器和节点。
要删除证书,请执行以下任务:
单击“服务器证书”选项卡。
选择证书
从证书列表中选择相应的证书名。
删除证书
单击“删除”按钮以删除选定证书。
使用 CLI
要通过 CLI 删除证书,请执行以下命令:
wadm> delete-cert --user=admin --port=8989 --password-file=admin.pwd --token=internal --config=config1 cert1 |
请参见 CLI 参考 delete-cert(1)。
要更新管理服务器证书,请执行 CLI 命令 renew-admin-certs。使用此命令可更新别名为 Admin-CA-Cert、 Admin-Server-Cert 和 Admin-Client-Cert 的管理认证。此命令还可以更新当前正在运行且使用更新的证书可以访问的节点。
执行此命令后,建议重新启动管理服务器和节点,以便新证书能够生效。如果在更新证书的过程中,节点处于脱机状态(未运行或由于网络问题无法访问),必须重新注册该节点。要更新管理服务器证书,请执行以下命令:
wadm> renew-admin-certs --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --validity=120 |
请参见 CLI 参考 renew-admin-certs(1)。