从生产前阶段过渡到生产阶段通常要强化系统的安全性。 在沙盒测试阶段,可能一直使用常规的 HTTP 将用户应用程序驱动程序连接到 JBoss,或使用自我签名证书(作为临时措施)进行驱动程序/应用程序-服务器之间的通讯。 另一方面,在生产阶段,可能会使用安全连接,采用基于公司的 Verisign(或其他可信提供者)证书的服务器鉴定。
通常情况下,X.509 证书普遍应用于 Identity Manager 用户应用程序环境中,如下图所示。
默认情况下,在用户应用程序和 Identity Vault 之间使用传输层安全性进行的所有通讯都是安全的。 安装时会自动将 Identity Vault (eDirectory) 证书安装至 JBoss 密钥存储区。 除非另行指定,用户应用程序安装程序会将 eDirectory 证书的副本置于 JRE 的默认 cacerts 存储区中。
若要确保通讯安全,服务器证书需放置在多个位置,如图所示。 根据您是要在图中显示 JBoss cert 框的各个位置使用自我签名证书,还是使用由可信证书授权者 (CA)(例如 Verisign)颁发的证书,所需的设置步骤可能会有所不同。
如果使用著名的可信颁发者的证书(例如 Verisign),则无需进行特殊的配置步骤。 但如果要创建并使用自我签名证书,则需要执行以下步骤:
使用类似以下语法的命令行语法,创建一个具备自我签名证书的密钥存储区:
keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
注意,创建证书的同时,还将创建《jboss.jks》文件。
将密钥存储区文件 (jboss.jks) 复制到 JBoss 用户应用程序目录中,例如:
cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
要在 JBoss 中启用 SSL,请在 [IDM]/jboss/server/IDM/deploy/ 目录下找到 jbossweb-tomcat55.sar 文件。 在其中找到 server.xml,然后在文本编辑器中打开此文件。 通过取消注释或添加如下部分启用 SSL:
<Connector port="8443" address="${jboss.bind.address}" maxThreads="100" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks" keystorePass="changeit" sslProtocol = "TLS" />
在 IDM.war 中,找到 web.xml 文件,然后在文本编辑器中打开此文件。 在文件的底部,去掉以下部分的注释标记:
<security-constraint> <web-resource-collection> <web-resource-name>IDMProv</web-resource-name> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> <description>IDM Provisioning Edition</description> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport guarantee> </user-data-constraint> </security-constraint>
保存文件和存档。 重启动 JBoss。
Identity Manager 用户应用程序支持传统的服务器鉴定 方案(在万维网上,通常与安全万维网页 共同用于 https 会话),但不支持框外基于证书的双向鉴定。 但是,可以通过使用 Novell iChain 获得该功能。 因此,比如说,您的组织需要允许用户通过用户证书而非口令进行登录,则可以通过将 iChain 添加到您的环境中来达到此目的。
有关更多信息,请与您的 Novell 代表联系。