A 配置用于 HTTPS 的自签名数字证书

本部分介绍了如何为 WebLogic 服务器中的 AcslsDomain 创建定制 SSL 加密证书。如果打算创建自签名数字证书以用于不接受 ACSLS GUI 默认提供的演示证书的浏览器,则需要执行此过程。

要与不采用由第三方数字签名机构认证的证书的 https 服务器一起使用,Internet Explorer 8 和 FireFox 版本 39 及更高版本需要执行此 WebLogic 设置过程。

  1. 生成加密密钥的密钥库数据库。

    1. root 用户身份,指定基本 acsls 环境变量的来源。

      . /var/tmp/acsls/.acsls_env
      
    2. 定义密钥库参数:

      keyPath=$installDir/Oracle/Middleware/wlserver_10.3/server/lib
      identStore=acslsIdent.jks
      trustStore=acslsTrust.jks
      keyPass=<password>
      storPass=<password>
      
    3. 生成加密用的公钥/私钥对和数字证书。将其放置在密钥库中。

      keytool -genkeypair -alias selfsigned -keyalg RSA -keysize 2048 \
      -validity 365 -keypass $keyPass -storepass $storPass \
      -keystore $keyPath/$identStore
      

      此过程会生成一个有效期为 365 天的证书,其加密密钥的长度为 2048 位。keytool 会提示您回答以下问题。您给出的回答将写入到证书中,每次要求 ACSLS GUI 用户确认 HTTPS 连接的真实性时,都会在远程浏览器上显示该证书。

      What is your first and last name?
      [Unknown]:  ACSLS Library Server
      
      What is the name of your organizational unit?
      [Unknown]:  Tape Library Services
      
      What is the name of your organization?
      [Unknown]:  Our Organization
      
      What is the name of your City or Locality?
      [Unknown]:  Our Town
      
      What is the name of your State or Province?
      [Unknown]:  Our Province?
      
      What is the two-letter country code for this unit?
      [Unknown]:  XY
      

      提示输入密码时,按回车键以使用在步骤 1-b 中设置的 $identPass 的值。

      该工具将汇总您提交的参数并请您确认 (y/n) 参数是否正确。

    4. 导出 ident 证书并将其导入到信任证书中。

      keytool -exportcert -alias selfsigned -file $keyPath/root.cer \
      -keystore $keyPath/$identStore -storepass $storPass
      
      keytool -importcert -alias selfsigned -file $keyPath/root.cer \
      -keystore  $keyPath/$trustStore -storepass $storPass
      

      在提示确认时,回答 yes

    5. 将文件 $keyPath/acslsIdent.jks$keyPath/acslsTrust.jks 复制到 $SSLM_HOME/AcslsDomain/ 目录中。

  2. 配置 WebLogic 以使用新生成的密钥库。

    1. acsls_admin 用户身份使用 acsls_admin 密码登录到 WebLogic 控制台。

      http://<acsls_server>:7001/console

    2. 在控制台主页左上角,单击 Lock & Edit(锁定并编辑)

    3. 在 "Lock and Edit"(锁定并编辑) 按钮正下方,会看到 "Domain Structure"(域结构)。选择 AcslsDomain 下的 Environment(环境)

    4. 在 "Summary of Environment"(环境概要)框中,单击 Servers(服务器)

    5. 在 "Summary of Servers"(服务器概要)框中,选择 "Configuration"(配置)选项卡,然后单击 "Servers"(服务器)表中的 AdminServer(admin)

    6. 在 "Settings for AdminServer"(AdminServer 的设置)框中,选择 Keystores(密钥库)选项卡。

    7. 在 "Keystores"(密钥库)选项卡下,单击 Change(更改),然后选择 Custom Identity and Custom Trust(定制标识和定制信任)。单击 Save(保存)

    8. 在 "Custom Identity Keystore"(定制标识密钥库)文本框中,使用在上面的步骤 1-b 中定义的 $keyPath/$identStore 值输入 acslsIdent.jks 文件的路径。在 "Custom Identity Keystore Type"(定制标识密钥库类型)框中,输入 jks

    9. 在 "Custom Identity Keystore Passphrase"(定制标识密钥库密码短语)文本框中,输入在上面的步骤 1-b 中定义为 $keyPass 的密码。在接下来的文本框中确认定制标识密钥库密码短语。

    10. 在 "Custom Trust Keystore"(定制信任密钥库)文本框中,使用在步骤 1-b 中定义的 $keyPath/$trustStore 值输入 acslsTrust.jks 文件的完整路径。在 "Custom Trust Keystore Type"(定制信任密钥库类型)文本框中,输入 jks

    11. 在 "Custom Trust Keystore Passphrase"(定制信任密钥库密码短语)文本框中,输入在步骤 1-b 中为 $storPass 定义的密码。在余下的文本框中输入该密码进行确认。

    12. 单击 Save(保存)。查看页面顶部的验证消息。

    13. 选择 "Settings for Administrator"(管理员的设置)框中的 SSL 选项卡。

    14. 在 "Identity and Trust Locations"(标识和信任位置)中,确保选中 Keystores(密钥库)。如有必要,单击 Change(更改)以更正设置。

    15. 在 "Private Key Alias"(私钥别名)文本框中,输入 selfsigned

    16. 在 "Private Key Passphrase"(私钥密码短语)文本框中,输入在上面的步骤 1-b 中定义为 $storPass 的同一密码。在余下的文本框中使用相同的密码进行确认。

    17. 单击 Save(保存)。页面顶部应显示绿色的验证消息。

    18. 单击 SSL 选项卡下的 Advanced(高级)字段。将 "Hostname Verification"(主机名验证)设置为 none(无)。选中 Use JSEE SSL(使用 JSEE SSL)的复选框。

    19. 单击 Save(保存)。页面顶部应显示绿色的验证消息。

    20. 单击页面左上角的 Activate Changes(激活更改)。查看页面顶部的验证消息。

    21. 重新启动 weblogic 服务。