我只是在寻找一些信息。 我想启用 ssl 和 https 重定向(一些基本的安全性,以便我可以公开 appCenter 和应用程序进行测试):
Websphere application server liberty v. 8.5.5.0
windows server 2008 R2
Java version 1.7.0_71 64bit
我做了什么: 安装好eclipse+mobilefirst studio 然后是 websphere 应用程序服务器 liberty v. 8.5.5.0 然后是 MobileFirst 平台服务器
这些指南非常有限,我是 WebSphere 的新手,我对如何删除现有证书并成功生成新的自签名有疑问
我只想看一个更完整的例子,一些相关的 posts这里引用配置 web.xml 但它不在文档中。
谁能给我指出一个更完整的示例,说明如何设置启用 ssl 和 https 重定向? 我的最终目标是使用 ssl 和 https 重定向访问 appCenter。
谢谢
最佳答案
我将尝试部分回答您的问题,因为它非常广泛。
启用 SSL
要在 Liberty 配置文件中启用 ssl,最简单的方法是在 Eclipse 中使用 WDT(WebSphere 开发人员工具)。在 Servers
View 中,右键单击服务器并选择 Utilities > Create SSL Certificate
。它将:
- 生成自签名证书 - 您可以自定义有效期和主题名称
- 存储在
${server.output.dir}/resources/security/key.jks
- 在
Console
View 中,它将输出您需要添加到server.xml
的代码片段:
<featureManager> <feature>ssl-1.0</feature> </featureManager> <keyStore id="defaultKeyStore" password="{xor}encodedPassword=" />
您可以从 wlp\bin
调用 securityUtility 的命令行执行相同的操作命令:
securityUtility createSSLCertificate --server=myserver --password=mypassword --validity=365
--subject=CN=mycompany,O=myOrg,C=myCountry
修改 server.xml
后,您的 Liberty 已在 9443 上启用 SSL:
https://localhost:9443/
自定义SSL证书
不幸的是,Liberty 本身并没有太多关于它的内容。所以这是您的选择:
- 如上所述使用
securityUtility
- 允许覆盖句点和 SN - 使用keytool JDK 自带的,它将允许更多的自定义(名称、 key 长度和算法),例如:
C:\Java\jdk1.7.0_67\bin>keytool -genkeypair -alias myCert -keystore keystore.jks Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: liberty What is the name of your organizational unit? [Unknown]: test What is the name of your organization? [Unknown]: gas What is the name of your City or Locality? [Unknown]: What is the name of your State or Province? [Unknown]: What is the two-letter country code for this unit? [Unknown]: Is CN=liberty, OU=test, O=gas, L=Unknown, ST=Unknown, C=Unknown correct? [no]: yes Enter key password for <mykey> (RETURN if same as keystore password): Re-enter new password:
- 第三方工具,例如,如果您拥有完整的 WAS,则可以使用 ikeyman使用向导生成证书。
无论您将使用什么方法来创建新的 keystore 和自签名证书,请更新 server.xml
中的 keyStore
定义
重定向到 SSL
默认情况下,任何未配置的应用程序都可以通过 http 和 https 使用。
如果您想强制应用程序使用 SSL,您需要为该应用程序创建/修改 web.xml
文件。将以下内容添加到您的 web.xml
:
<security-constraint>
<display-name>allApp</display-name>
<web-resource-collection>
<web-resource-name>allresources</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
并且您必须启用应用程序安全性,将以下内容添加到 server.xml
:
<featureManager> <feature>appSecurity-2.0</feature> </featureManager>
你已经完成了。您已为您的服务器启用 SSL 并为给定应用启用重定向。
关于ssl - 如何在 websphere 应用程序服务器 liberty v. 8.5.5.0 中生成新的 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428931/