如何在websphere应用服务器自由v.8.5.5.0中生成新的SSL证书

时间:2014-12-11 17:31:58

标签: ssl https websphere websphere-liberty

我只是在寻找一些信息。 我想启用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应用服务器自由v.8.5.5.0 然后是MobileFirst Platform Server

我阅读了指南here和安全实用程序guide

这些指南非常有限,我对WebSphere很新,我对如何删除现有证书并成功生成新的自签名有疑问

我只想看一个更完整的示例,这里的一些相关posts指的是配置web.xml但它不在文档中。

有人能指出一个更全面的例子,说明如何设置启用ssl和https重定向? 我的最终目标是访问appCenter使用ssl和https重定向。

由于

1 个答案:

答案 0 :(得分:5)

我会尝试部分回答你的问题,因为它非常广泛。

启用SSL

要在Liberty配置文件中启用ssl,最简单的方法是在Eclipse中使用WDT(WebSphere Developer Tools)。在Servers视图中右键单击服务器并选择Utilities > Create SSL Certificate。它会:

  • 生成自签名证书 - 您可以自定义有效期和主题名称
  • 将其存储在${server.output.dir}/resources/security/key.jks
  • Console视图中,它会输出您需要添加到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证书

不幸的是,自由本身并没有多少。所以这是你的选择:

  • 如上所述使用securityUtility - 允许覆盖句点和SN
  • 使用JDK附带的keytool,它将允许更多自定义(名称,密钥长度和算法),例如:
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定义

重定向到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,并为给定的应用程序重定向。