WebLogic如何配置SSL

原文 :http://edocs.weblogicfans.net/wls/docs92/secmanage/identity_trust.html文档

私钥、数字证书和可信证书颁发机构

私钥、数字证书和可信证书颁发机构可建立和验证服务器标识和信任。

SSL 使用公钥加密技术进行身份验证。使用公钥加密时,将为一台服务器生成一个公钥和一个私钥。对于用公钥加密的数据,只能用相应的私钥解密;对于用私钥加密的数据,只能用相应的公钥解密。私钥受到妥善的保护,确保只有私钥的所有者才能解密用公钥加密的消息。

公钥嵌入一个数字证书中,同时嵌入的还有描述公钥所有者的其他信息,如姓名、街道地址和电子邮件地址。私钥和数字证书可为服务器提供标识。

嵌入数字证书中的数据由证书颁发机构进行验证,并由证书颁发机构的数字证书进行数字签名。众所周知的证书颁发机构包括 Verisign 和 Entrust.net。可信证书颁发机构(Certificate Authority,简称 CA)证书可为证书建立信任。

参与 SSL 连接的应用程序在其他方评估和接受此应用程序的数字证书时得到身份验证。Web 浏览器、服务器及其他 SSL 启用的应用程序通常会接受由可信的证书颁发机构签名并且有效的任何数字证书。例如,由于数字证书本身已过期或证书颁发机构用于对此签名的数字证书已过期,则数字证书可能失效。如果服务器的数字证书中的主机名与客户端指定的 URL 不符,则表示服务器证书可能失效。


配置标识和信任:主要步骤

要创建服务器的标识和信任,请执行下列操作:

    1. 从 CertGen 实用工具、Sun Microsystem 的 keytool 实用工具,或著名的供应商如 Entrust 或 Verisign 处获取数字证书、私钥和可信 CA 证书。也可使用由 WebLogic Server 工具包提供的数字证书、私钥和可信 CA 证书。只应将演示数字证书、私钥和可信 CA 证书用在开发环境中。
    2. 存储私钥、数字证书和可信 CA 证书。私钥和可信 CA 证书存储在密钥库中。
注意:首选的密钥库格式为 JKS(Java 密钥库)。WebLogic Server 支持将私钥和可信 CA 证书存储在文件或 WebLogic 密钥库提供程序中,仅仅是为了满足向后兼容的目的。
  1. 在 WebLogic Server 管理控制台中配置 WebLogic Server 的标识和信任密钥库。请参阅“管理控制台联机帮助”中的配置密钥库

以下各部分将描述这些步骤。


标识和信任的受支持格式

保密邮件(Privacy Enhanced Mail,简称 PEM)格式是私钥、数字证书和可信证书颁发机构(Certificate Authorities,简称 CA)的首选格式。首选的密钥库格式为 Java 密钥库(Java KeyStore,简称 JKS)格式。

.pem 格式的文件以下行开始:

----BEGIN CERTIFICATE----

并以下行结束:

----END CERTIFICATE----

.pem 格式的文件可支持多种数字证书(如可包含证书链)。证书在文件中的顺序非常重要。服务器的数字证书应为文件中的第一个数字证书,其后是发行方证书,等等。链中的每个证书后都跟有其发行方证书。如果链中最后一个证书为链的自签名(自发行)根证书,则将此链视为完整的链。请注意,链并不一定是完整的。

在使用不赞成的基于文件的私钥、数字证书和可信 CA 时,WebLogic Server 可使用 PEM 或识别编码规则(Distinguished Encoding Rules,简称 DER)格式的数字证书。

.der 格式的文件包含了单个证书的二进制数据。因此,一个 .der 文件仅可用于单个证书,而一个 .pem 文件可用于多个证书。

Microsoft 是常用的证书颁发机构。Microsoft 发行的可信 CA 证书采用 p7b 格式,必须将其转换为 PEM 格式才能在 WebLogic Server 中使用。有关详细信息,请参阅将 Microsoft p7b 格式转换为 PEM 格式

私钥文件(即不存储在密钥库中的私钥)必须采用 PKCS#5/PKCS#8 PEM 格式。

还可以将使用其他 WebLogic Server 版本的私钥和数字证书与此 WebLogic Server 版本一起使用。将私钥和数字证书从识别编码规则 (DER) 格式转换为保密邮件 (PEM) 格式。有关详细信息,请参阅“WebLogic Server 命令参考”中的“使用 WebLogic Server Java 实用工具”中有关 der2pem 实用工具的描述。

转换文件后,确保数字证书文件具有
-----BEGIN CERTIFICATE----- 头信息和 -----END CERTIFICATE----- 尾信息。否则,数字证书将无效。

注意:OpenSSL 可以为其生成的 PEM 证书添加头信息。为了在 WebLogic Server 中使用这样的证书,应删除证书中“-----BEGIN CERTIFICATE-----”之前的所有内容,使用文本编辑器可执行此操作。


获取私钥、数字证书和可信证书颁发机构

服务器需要一个私钥、一个包含匹配的公钥的数字证书以及一个至少用于一个可信证书颁发机构的证书。WebLogic Server 支持来自以下来源的私钥、数字证书和可信 CA 证书:

    • 位于 WL_HOME\server\lib 目录和 JAVA_HOME\jre\lib\security 目录中的演示数字证书、私钥和可信 CA 证书。

只应将演示数字证书、私钥和可信 CA 证书用在开发环境中。

    • Sun Microsystem 的 keytool 实用工具也可用于生成私钥、WebLogic Server 自签名的数字证书以及证书签名请求(Certificate Signing Request,简称 CSR)。
    • 将 CSR 提交给证书颁发机构以获取 WebLogic Server 的数字证书。
    • 使用 keytool 实用工具用新的数字证书更新自签名的数字证书。
    • 在生产环境中使用 WebLogic Server 时,应使用 keytool 实用工具获取信任和标识。

有关 Sun 的 keytool 实用工具的详细信息,请参阅位于 http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html 的“keytool-Key and Certificate Management Tool”描述。

注意:使用 keytool 实用工具时,默认的密钥对生成算法为数字签名算法(Digital Signature Algorithm,简称 DSA)。WebLogic Server 不支持 DSA。在使用 WebLogic Server 时,应指定其他的密钥对生成和签名算法。
  • 对于由 CertGen 实用工具生成的数字签名和私钥,只应将其用于开发环境中的演示或测试,而不应用于生产环境。如果希望在数字证书中设置过期日期,或者要在数字证书中指定正确的主机名以便使用主机名验证,则可以使用 CertGen 实用工具。(由 WebLogic Server 提供的演示数字证书使用计算机的默认主机名作为主机名。)有关使用 CertGen 实用工具获取私钥和数字证书的详细信息,请参阅使用 CertGen 实用工具

注意:不赞成使用证书请求生成器 Servlet。请用 Sun Microsystems 的 keytool 实用工具替换证书请求生成器 Servlet。有关 keytool 的详细信息,请参阅常用 Keytool 命令

常用 Keytool 命令

表 10-1 列出了在使用 WebLogic Server 创建和使用 JKS 密钥库时所用的 keytool 命令。

注意:keytool 实用工具是 Sun Microsystems 的产品。因此,BEA Systems 不提供有关此实用工具的完整文档。有关详细信息,请参阅位于 http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html 的“keytool-Key and Certificate Management Tool”描述。

表 10-1 常用的 keytool 命令
命令
描述
keytool -genkey -keystore keystorename -storepass keystorepassword
在密钥库中生成一个新的私钥项和自签名的数字证书。如果密钥库不存在,则会创建密钥库。
keytool -import -alias aliasforprivatekey
-file privatekeyfilename.pem
-keypass privatekeypassword
-keystore keystorename -storepass keystorepassword
用一个由可信 CA 签名的数字证书更新自签名数字证书。
keytool -import -alias aliasfortrustedca -trustcacerts -file trustedcafilename.pem -keystore keystorename -storepass keystorepassword
将可信 CA 证书加载到密钥库中。如果密钥库不存在,则会创建密钥库。
keytool -certreq -alias alias
-sigalg
sigalg
-file certreq_file
-keypass privatekeypassword
-storetype keystoretype
-keystore keystorename
-storepass keystorepassword
生成一个 PKCS#10 格式的证书签名请求 (CSR) 和一个带私钥的自签名证书。
将 CSR 存储在指定的 certreq_file 中,并将证书/私钥对作为密钥项存储在指定的别名下的指定的密钥库中。
keytool -list -keystore keystorename
显示密钥库中的内容。
keytool -delete -keystore keystorename -storepass keystorepassword -alias privatekeyalias
从密钥库中删除指定的别名所标识的项。
keytool -help
提供 keytool 的联机帮助。

使用 CertGen 实用工具

注意:对于 CertGen 实用工具生成的数字证书和私钥,只应将其用于演示和测试目的,不应用于生产环境。

CertGen 实用工具提供了为发行所生成的证书而指定 CA 证书和密钥的命令行选项。(仅在默认情况下) CertGen 实用工具生成的数字证书将生成证书时所在的计算机的主机名作为其通用名字段 (cn) 的值。使用命令行选项可指定 cn 及其他主题域名 (DN) 字段的值,如 orgunitorganizationlocalitystatecountrycode

CertGen 实用工具可生成 PEM 和 DER 格式的公共证书和私钥文件。在 Windows 中,双击 .der 文件可查看生成的数字证书的详细信息。在启动 WebLogic Server 或在客户端使用数字证书时可使用.pem 文件。

默认情况下,CertGen 实用工具使用以下演示数字证书和私钥文件:CertGenCA.derCertGenCAKey.der。CertGen 会在当前目录或 WL_HOME/server/lib 目录中查找这些文件,weblogic.home 系统属性或 CLASSPATH 中对查找目录的位置进行了指定。如果要使用这些文件,您不需要在命令行中指定 CA 文件。也可以在命令行中指定 CA 文件。

有关 CertGen 实用工具的语法和参数的详细信息,请参阅“WebLogic Server 命令参考”中的 CertGen

有关使用 CertGen 实用工具生成证书和私钥以及使用 ImportPrivateKey 实用工具创建密钥库并存储私钥的示例,请参阅“WebLogic Server 命令参考”中的 ImportPrivateKey

注意:如果不使用 -cn 选项明确指定主机名,CertGen 将使用 JDK InetAddress.getHostname() 方法来获得它置于主题通用名中的主机名。getHostName() 方法在不同的平台上会有不同的结果。在某些平台上(如 Solaris),它会返回一个全限定域名(Fully Qualified Domain Name,简称 FQDN),而在其他平台上(如 Windows NT),则返回一个短主机名。在 Solaris 上,InetAddress.getHostname() 的结果取决于 /etc/nsswitch.conf 文件中对主机项的配置。

注意:如果 WebLogic Server 充当客户端(并且默认启用了主机名验证),则需要确保在 URL 中指定的主机名与服务器证书中的主题通用名相符。否则由于主机名不符,连接将失败。

使用自己的证书颁发机构

很多公司都作为其自身的证书颁发机构。要在 WebLogic Server 中使用可信CA证书,请执行下列操作:

    1. 确保可信 CA 证书采用 PEM 格式。
  1. 创建一个信任密钥库。有关详细信息,请参阅 WebLogic Server 如何定位信任
  2. 将可信 CA 证书存储在信任密钥库中。有关详细信息,请参阅 WebLogic Server 如何定位信任
  3. 配置 WebLogic Server 以使用信任密钥库。有关详细信息,请参阅配置用于生产环境的密钥库

将 Microsoft p7b 格式转换为 PEM 格式

WebLogic Server 不能使用由 Microsoft 发行的数字证书的格式 (p7b)。以下示例可在 Windows XP 上将 p7b (PKCS#7) 格式的数字证书转换为 PEM 格式:

  1. 在 Windows 资源管理器中,选中要转换的文件 (filename.p7b)。双击此文件可显示证书窗口。
  2. 在证书窗口的左窗格中,展开此文件。
  3. 展开证书文件夹以显示证书列表。
  4. 选择一个要转换为 PEM 格式的证书。用鼠标右键单击此证书,然后选择“所有任务”>“导出”以显示证书导出向导。
  5. 在此向导中,单击“下一步”。
  6. 选中“Base-64 encoded X.509 (.CER)”选项。然后单击“下一步”。(Base 64 编码为 PEM 格式。)
  7. 在“文件名:”字段中,请为已转换的数字证书输入一个名称,然后单击“下一步”。

注意:此向导会向输出文件追加一个 .cer 扩展名,.cer 扩展名是追加在 Base 64 编码的证书和 DER 证书后的通用扩展名。退出此向导后,可将此扩展名更改为 .pem
  1. 验证设置是否正确。如果设置正确,请单击“完成”;如果不正确,请单击“上一步”并进行必要的修改。

注意:对于包含证书链的 p7b 证书文件,需要将发行方 PEM 数字证书连接到此证书文件。WebLogic Server 可使用生成的证书文件。

从 Web 浏览器获取数字证书

低安全性的浏览器证书极易获得,可从 Web 浏览器中获取,通常可选择“选项”或“首选项”中的“安全”菜单项。转到“个人证书”项并请求获取新的数字证书。将询问一些有关您自己的信息。

您收到的数字证书包含有公共信息(包含您的姓名和公钥)和一些希望由第三方进行身份验证的其他信息,如您的电子邮件地址。稍后在请求身份验证时,您将提供此数字证书。

在获取数字证书的过程中,Web 浏览器会生成一个公钥-私钥对。私钥仍应保密。它存储在本地文件系统中,并且始终不得离开 Web 浏览器所在的计算机,以确保获取数字证书的过程本身是安全的。在某些浏览器中,可用密码对私钥进行加密,不对密码进行存储。在加密私钥时,Web 浏览器在每次会话中至少会向您询问一次密码。

注意:从 Web 浏览器获取的数字证书在其他类型的 Web 浏览器中或在相同 Web 浏览器的不同版本上无法工作。

使用证书链(不赞成)

注意:不赞成使用基于文件的证书链。现在,整个证书链已导入到密钥库中。本部分中的步骤只是为了向后兼容而提供的。

要在 WebLogic Server 中使用证书链,请执行下列操作:

    1. 请确保所有数字证书都采用 PEM 格式。如果采用 DER 格式,可以使用 der2pem 实用工具对其进行转换。如果所用的数字证书是由 Microsoft 发行的,请参阅将 Microsoft p7b 格式转换为 PEM 格式。可使用本部分中的步骤转换其他类型的数字证书。将数字证书保存为 Base 64 格式。
    2. 打开文本编辑器,将所有数字证书文件包含在一个单独的文件中。顺序非常重要。服务器数字证书应为文件中的第一个数字证书。数字证书的发行方应为文件中的第二个数字证书,等等,直至到达自签名的根证书颁发机构证书。此数字证书应为文件中的最后一个证书。

数字证书间不得有空行。

  1. 在 WebLogic Server 管理控制台中的“配置”>“SSL”页的“服务器证书文件名”字段中指定此文件。

清单 10-1 显示了一个示例证书链。

清单 10-1 带证书链的示例文件

-----BEGIN CERTIFICATE-----
MIICyzCCAjSgAwIBAgIBLDANBgkqhkiG9w0BAQQFADCBtjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xFTATBgNVBAoTDEJFQSBXZWJMb2dpYzERMA8GA1UECxMIU2VjdXJpdHkxLzAtBgNVBAMTJkRlbW8gQ2VydGlmaWNhdGUgQXV0aG9yaXR5IENvbnN0cmFpbnRzMR8wHQYJKoZIhvcNAQkBFhBzZWN1cml0eUBiZWEuY29tMB4XDTAyMTEwMTIwMDIxMloXDTA2MTAxNTIwMDIxMlowgZ8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxCRUEgV2ViTG9naWMxETAPBgNVBAsTCFNlY3VyaXR5MRkwFwYDVQQDExB3ZWJsb2dpYy5iZWEuY29tMR4wHAYJKoZIhvcNAQkBFg9zdXBwb3J0QGJlYS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMJX8nKUgsFej8pEu/1IVcHUkwY0c2JbBzOryu3sce4QjX+rGxiCjoPm2MY=yts2BvonuJ6CztdZf8B/LBEWCz+qRrtdFn9mKSZWGvrAkmMPz2RhXEOThpoRo5kZz2FQ9XF/PxIJXTYCM7yooRBwXoKYjquRwiZNtUiU9kYi6Z3prAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAh2eqQGxEMUnNTwEUD
0tBq+7YuAkjecEocGXvi2G4YSoWVLgnVzJoJuds3c35KE6sxBe1luJQuQkE9SzALG/6lDIJ5ctPsHFmZzZxY7scLl6hWj5ON8oN2YTh5Jo/ryqjvnZvqiNIWe/gqr2GLIkajC0mz4un1LiYORPig3fBMH0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC+jCCAmOgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBtjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xFTATBgNVBAoTDEJFQSBXZWJMb2dpYzERMA8GA1UECxMIU2VjdXJpdHkxLzAtBgNVBAMTJkRlbW8gQ2VydGlmaWNhdGUgQXV0aG9yaXR5IENvbnN0cmFpbnRzMR8wHQYJKoZIhvcNAQkBFhBzZWN1cml0eUBiZWEuY29tMB4XDTAyMTEwMTIwMDIxMVoXDTA2MTAxNjIwMDIxMVowgbYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxCRUEgV2ViTG9naWMxETAPBgNVBAsTCFNlY3VyaXR5MS8wLQYDVQQDEyZEZW1vIENlcnRpZmljYXRlIEF1dGhvcml0eSBDb25zdHJhaW50czEfMB0GCSqGSIb3DQEJARYQc2VjdXJpdHlAYmVhLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3ynD8l5JfLob4g6d94dNtI0Eep6QNl9bblmswnrjIYz1BVjjRjNVal9fRs+8jvm85kIWlerKzIMJgiNsj50WlXzNX6orszggSsW15pqV0aYE9Re9K
CNNnORlsLjmRhuVxg9rJFEtjHMjrSYr2IDFhcdwPgIt0meWEVnKNObSFYcCAwEAAaMWMBQwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQQFAAOBgQBS+0oqWxGyqbZO028zf9tQT2RKojfuwywrDoGW96Un5IqpFnBHIu5atliJo3OUpiH18KkwLN8DVP/3t3K3O3kXdIuLbqAL0i5xyBlAhr7gE5eVhIyeMg7ETBPLyGO2BF13Y24LlsO+MX9jW7fxMraPN608QeJXkZw0E0cGwrw2AQ==
-----END CERTIFICATE-----


存储私钥、数字证书和可信证书颁发机构

获取了私钥、数字证书及可信 CA 证书后,需要将其存储以便 WebLogic Server 能够使用它们来查找和验证标识。私钥和其关联的数字证书以及可信 CA 证书都存储在密钥库中。通过 WebLogic Server 管理控制台,或者通过在命令行中指定,均可对密钥库进行配置。使用 WebLogic Server 管理控制台中的“配置”>“密钥库”页配置 WebLogic Server 的标识和信任密钥库。请参阅“管理控制台联机帮助”中的配置密钥库

为向后兼容,私钥和可信 CA 证书可存储在文件中,或存储在通过 WebLogic 密钥库提供程序访问的 JKS 密钥库中。除此以外,可信 CA 证书还可以存储在 JKS 密钥库中。使用 WebLogic Server 管理控制台的“配置”>“SSL”页,可指定在使用文件或通过 WebLogic 密钥库提供程序访问的 JKS 密钥库时的标识和信任选项。

使用密钥库的指导

在配置 SSL 时,必须确定标识和信任的存储方式。尽管标识和信任可共用一个密钥库,但 BEA 建议为标识和信任分别使用独立的密钥库,原因是标识密钥库(私钥/数字证书对)和信任密钥库(可信 CA 证书)可能会有不同的安全要求。例如:

  • 对于信任来说,只需要将证书(非敏感数据)置于密钥库中,而对于标识,则必须将证书和私钥(敏感数据)都置于密钥库中。
  • 公司策略可禁止将标识密钥库置于网络中,而信任密钥库则可以在网络上分发。
  • 操作系统可保护标识密钥库免受非授权用户的读和写,而对信任密钥库只需要进行写保护。
  • 通常只有少数人知道标识密钥库的密码,而信任密钥库的密码则有更多的人知道。

总的来说,同一域中的系统具有相同的信任规则(使用同一组可信 CA),而它们所具有的标识却可能是按每个服务器规定的。标识要求一个私钥,不应将私钥在系统间复制。因此,应为每个系统维护独立的标识密钥库,每个密钥库应仅包含该系统所需要的服务器标识。但是,可在系统间复制信任密钥库,这使得标准化信任规则变得很容易。

标识更有可能存储在硬件密钥库中,如 nCipher。信任可存储在基于文件的 JDK 密钥库中而不会有任何安全问题,原因是信任库只包含证书,而不包含私钥。

创建密钥库并将私钥和可信证书颁发机构加载到密钥库中

使用密钥库的目的是实现私钥/数字证书对和可信 CA 证书的安全存储和管理。使用以下机制可创建密钥库并将私钥和可信 CA 证书加载到密钥库中:

    • WebLogic ImportPrivateKey 实用工具。使用 ImportPrivateKey 实用工具可拾取私钥和数字证书文件并将其加载到密钥库中。有关详细信息,请参阅“WebLogic Server 命令参考”中的 ImportPrivateKey
    • Sun Microsystem 的 keytool 实用工具。使用 keytool 实用工具可生成私钥/数字证书对并将已签名的私钥导入密钥库中。有关详细信息,请参阅 WebLogic Server 如何定位信任。虽然使用 keytool 实用工具可以生成新的私钥和数字证书并将它们添加到密钥库中,但此实用工具并不允许从文件中拾取现有的私钥并将其导入密钥库中。应改用 WebLogic ImportPrivateKey 实用工具。
注意:keytool 实用工具不允许将可信 CA 证书从文件中导入至密钥库中。
  • 自定义实用工具。WebLogic Server 可使用由自定义工具或实用工具创建的密钥库。如何创建和使用这些实用工具已超出本文档的范围。

WebLogic Server 通过唯一的别名对密钥库中的所有私钥项进行访问。在将私钥加载到密钥库中时可指定别名。别名区分大小写;别名 Hugo hugo 指的是同一密钥库项。私钥的别名是在 WebLogic Server 管理控制台的“配置”>“SSL”页的“私钥别名”字段中指定的。尽管 WebLogic Server 在访问可信 CA 证书时并不使用别名,但密钥库在将可信 CA 证书加载到密钥库时确实要求使用别名。

密钥库中由 WebLogic Server 识别为可信的所有证书颁发机构都为可信。


WebLogic Server 如何定位信任

WebLogic Server 在加载其可信 CA 证书时使用以下算法:

  1. 如果密钥库是由 -Dweblogic.security.SSL.trustedCAkeystore 命令行参数指定的,则将从密钥库加载可信 CA 证书。
  2. 否则,如果密钥库是在配置文件 (config.xml) 中指定的,则将从指定的密钥库加载可信 CA 证书。如果服务器是用 DemoTrust 配置的,将从 WL_HOME\server\lib\DemoTrust.jks 和 JDK cacerts 密钥库加载可信 CA 证书。
  3. 否则,如果可信 CA 文件是在配置文件 (config.xml) 中指定的,则将从此文件加载可信 CA 证书(这仅仅是为了与 6.x SSL 配置兼容)。
  4. 否则,将从 WL_HOME\server\lib\cacerts 密钥库加载可信 CA 证书。


配置用于生产环境的密钥库

默认情况下,WebLogic Server 配置有两个密钥库:

  • DemoIdentity.jks - 包含 WebLogic Server 的演示私钥。此密钥库包含 WebLogic Server 的标识。
  • DemoTrust.jks - 包含来自 WL_HOME\server\lib\DemoTrust.jks 的可信证书颁发机构和 JDK cacerts 密钥库。此密钥库可为 WebLogic Server 建立信任。

这些密钥库位于 WL_HOME\server\lib 目录中。对于测试和开发来说,密钥库配置是完全的。但是,请不要在生产环境中使用此演示密钥库。由于演示密钥库中的数字证书和可信 CA 证书是由 WebLogic Server 演示证书颁发机构签名的,所以使用演示密钥库的 WebLogic Server 安装将信任任何同样使用演示密钥库的 WebLogic Server 安装。需要创建只在您的安装之间互相信任的安全环境。

要配置生产环境中使用的密钥库,请执行以下操作:

  1. 从一家著名的证书颁发机构(如 Verisign, Inc. 或 Entrust.net)获取私钥和数字证书。请参阅获取私钥、数字证书和可信证书颁发机构
  2. 创建标识和信任密钥库。请参阅创建密钥库并将私钥和可信证书颁发机构加载到密钥库中
  3. 将私钥和可信 CA 加载到标识和信任密钥库中。请参阅创建密钥库并将私钥和可信证书颁发机构加载到密钥库中
  4. 使用 WebLogic Server 管理控制台可配置标识和信任密钥库。请参阅“管理控制台联机帮助”中的配置密钥库

也可以使用 WebLogic 脚本工具或 Java 管理扩展(Java Management Extensions,简称 JMX)API 创建新的安全配置。有关详细信息,请参阅 WebLogic 脚本工具使用 JMX 开发自定义管理实用工具手册。

下面是建立秘钥等java命令:

1.在密钥库中生成一个新的私钥项和自签名的数字证书。如果密钥库不存在,则会创建密钥库。
keytool -genkey -alias sfpayprivatekey -keyalg RSA -keysize 512 -dname "CN=10.79.11.157, OU=sfpay, O=sf, L=shenzhen, S=guangdong, C=cn" -keypass sfpay123456 -keystore ./sfpay-weblogic.jks -storepass sfpay123456

2.根据密钥库文件生成证书请求文件
keytool -certreq -alias sfpayprivatekey -sigalg "MD5withRSA" -file ./sfpay-csr.pem -keypass sfpay123456 -keystore ./sfpay-weblogic.jks -storepass sfpay123456

3.导出证书
keytool -export -alias sfpayprivatekey -keystore ./sfpay-weblogic.jks -rfc -file sfpay.cer

4.将可信 CA 证书加载到密钥库中。如果密钥库不存在,则会创建密钥库。
keytool -import -alias sfpayprivatekey -trustcacerts -file sfpay.cer -keystore ./sfpay-ca.jks -storepass sfpay123456

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值