要在WebLogic服务器上配置SSL,您需要SSL凭据进行身份验证。 您可以使用Java密钥工具执行以下任务以创建凭据:
然后,配置WebLogic,以便它使用您创建的自定义身份密钥库和自定义信任密钥库。 此外,禁用WebLogic主机名验证功能,因为用于创建密钥库文件的可分辨名称不包含托管WebLogic的计算机的名称。
keytool命令通常位于Java jre/bin目录中,并且必须包括几个选项和选项值,这些选项和选项值列在下表中。
键工具选项 |
描述 |
选项值 |
---|---|---|
-alias |
密钥库的别名。 |
|
-keyalg |
用于生成键对的算法。 |
RSA 您可以使用不同的算法,具体取决于您公司的策略。 |
-keystore |
密钥库文件的位置和名称。 位置可以包含文件的绝对路径。 或者,它可以相对于输入keytool命令的命令提示符的当前目录。 |
|
-file |
证书文件的位置和名称。 |
ads-ca.cer |
-validity |
认为证书有效的天数。 |
3650 您可以使用不同的值,具体取决于您公司的策略。 |
-storepass |
用于保护密钥库内容的密码。 |
|
-keypass |
用于保护密钥对的私钥的密码。 |
使用与 |
-dname |
标识密钥库所有者的可分辨名称。 |
|
有关使用keytool命令的更多信息,请参阅JDK文档中包含的keytool.html文件。
在命令提示符下,导航到[appserverdomain]/adobe/[服务器名称]。
输入以下命令:
[JAVA_HOME]/bin/keytool -genkey -v -alias ads-credentials -keyalg RSA -keystore "ads-credentials.jks" -validity 3650 -storepass store_password -keypass key_password -dname "CN=Hostname, OU=Group Name, O=Company Name, L=City Name, S=State,C=Country Code
将[JAVA_HOME]
替换为安装JDK的目录,并将斜体文本替换为与您的环境对应的值。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -genkey -v -alias ads-credentials -keyalg RSA -keystore "ads-credentials.jks" -validity 3650 -storepass P@ssw0rd -keypass P@ssw0rd -dname "CN=wasnode01, OU=LC, O=Adobe, L=Noida, S=UP,C=91
在[appserverdomain]/adobe/[服务器名称]目录中创建名为“ads-credentials.jks”的自定义身份密钥存储文件。
通过输入以下命令,从ads-credentials密钥库中提取证书:
[JAVA_HOME]/bin/keytool -export -v -alias ads-credentials
-file "ads-ca.cer" -keystore "ads-credentials.jks"
-storepass
*store*
*_password
将[JAVA_HOME]
替换为安装JDK的目录,并将store
_ password
替换为自定义身份密钥库的密码。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -export -v -alias ads-credentials -file "ads-ca.cer" -keystore "ads-credentials.jks" -storepass P@ssw0rd
名为“ads-ca.cer”的证书文件创建在[appserverdomain]/adobe/[服务器名称]目录中。
将ads-ca.cer文件复制到需要与应用程序服务器进行安全通信的任何主机计算机。
通过输入以下命令将证书插入新密钥库文件(自定义信任密钥库):
[JAVA_HOME] /bin/keytool -import -v -noprompt -alias bedrock -file "ads-ca.cer" -keystore "ads-ca.jks" -storepass store_password -keypass key_password
将[JAVA_HOME]
替换为安装JDK的目录,并将store
_ password
和key
_ password
替换为您自己的密码。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -import -v -noprompt -alias bedrock -file "ads-ca.cer" -keystore "ads-ca.jks" -storepass Password1 -keypass Password1
在[appserverdomain]/adobe/[server]目录中创建名为“ads-ca.jks”的自定义信任密钥库文件。
配置WebLogic,以便它使用您创建的自定义身份密钥库和自定义信任密钥库。 此外,禁用WebLogic主机名验证功能,因为用于创建密钥库文件的可分辨名称不包含承载WebLogic服务器的计算机的名称。
在Web浏览器的URL行中键入https://
[主机名]:7001/console
以启动WebLogic服务器管理控制台。
在环境下的域配置中,选择服务器> [服务器] >配置>常规。
在“常规”下,在“配置”中,确保选中了已启用监听端口和已启用SSL监听端口。 如果未启用,请执行以下操作:
如果此服务器是受管服务器,请将“侦听端口”更改为未使用的端口值(如8001),将SSL侦听端口更改为未使用的端口值(如8002)。 在独立服务器上,默认的SSL端口为7002。
单击Release Configuration。
在“环境”下的“域配置”中,单击服务器> [托管服务器] >配置>常规。
在常规下的配置中,选择密钥库。
在“更改中心”下,单击锁定并编辑以修改选择和值。
单击Change以将密钥库列表作为下拉列表获取,然后选择Custom Identity And Custom Trust。
在标识下,指定以下值:
自定义身份密钥库: [appserverdomain]/adobe/[服务器名称]/ads-credentials.jks,其中*[appserverdomain] *是实际路径,而 [服务] 器名称是应用程序服务器的名称。
自定义身份密钥库类型:JKS
自定义身份密钥库密码: mypassword (自定义身份密钥库密码)
在信任下,指定以下值:
自定义信任密钥库文件名: *[appserverdomain]*/adobe/*[server]*/ads-ca.jks
,其中 *[appserverdomain]*
是实际路径
自定义信任密钥库类型:JKS
自定义信任密钥库密码短语: mypassword (自定义信任密钥密码)
在常规下的配置中,选择SSL。
默认情况下,为“身份”和“信任”位置选择KeyStore。 如果没有,请将其更改为KeyStore。
在标识下,指定以下值:
私钥别名:ads-credentials
密码: mypassword
单击Release Configuration。
在“配置”选项卡上,单击SSL。
在高级下,从主机名验证列表中选择无。
如果未禁用主机名验证,则通用名称(CN)必须包含服务器主机名。
在“更改中心”(Change Center)下,单击“锁定并编辑”(Lock & Edit)以修改选择和值。
重新启动应用程序服务器。