JBoss4 应用服务器Web开发人员参考手册(4):使用HTTPS

为嵌入的Tomcat servlet容器配置基于SSL的HTTP的方法有许多,区别在于使用是否用JBoss特有的connector socket factory, 它能够从JBossSX SecurityDomain获得JSSE的服务器证书信息. 它需要使用org.jboss.security.plugins.JaasSecurityDomain MBean建立一个SecurityDomain. 下面的server.xml 配置文件展示了使用这种方法仅建立SSL connector的配置:

 

<Server>
    <Service name="jboss.web" className="org.jboss.web.tomcat.tc5.StandardService">
 
        <Connector port="8080" address="${jboss.bind.address}" maxThreads="150"
            minSpareThreads="25" maxSpareThreads="75" enableLookups="false"
            redirectPort="443" acceptCount="100" connectionTimeout="20000" 
            disableUploadTimeout="true"/>
 
        <Connector port="443" address="${jboss.bind.address}" maxThreads="100"
            minSpareThreads="5" maxSpareThreads="15" scheme="https"
            secure="true" clientAuth="false"
            keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
            keystorePass="rmi+ssl" sslProtocol="TLS"/>
 
        <Engine name="jboss.web" defaultHost="localhost">
            <Realm
                className="org.jboss.web.tomcat.security.JBossSecurityMgrRealm" 
                certificatePrincipal="org.jboss.securia.Log4jLogger"
                verbosityLevel="WARNING" category="org.jboss.web.localhost.Engine"/>
            <Host name="localhost" autoDeploy="false" deployOnStartup="false" 
                  deployXML="false">
                <DefaultContext cookies="true" crossContext="true" override="true"/>
            </Host>
        </Engine>
    </Service>
</Server>

该配置包含了一个JaasSecurityDomain, 但是因为该描述信息没有作为包含chap8.keystore的SAR包进行部署, 你需要将chap8.keystore拷贝到server/default/conf目录. 你可以使用HTTPS通过URL: https://localhost/jmx-console访问 JMX console web 应用来测试该配置 .

注意: 如果你的运行系统需要特殊权限来开通1024以下的端口,可以方便地将端口设置为1024以上的数字,因此端口8443经常被使用.

配置的属性信息如下:

  • algorithm: 表示对证书编码时使用的算法. 如果不指定,缺省值为 SunX509.

  • className: 表示SSL server socket factory 实现类的全称. 在这里必须指定 org.apache.coyote.tomcat4.CoyoteServerSocketFactory. 使用其它的socket factory不会出现错误,但是服务器的socket将不会使用SSL.

  • clientAuth: 如果将该属性设置为true,SSL协议栈就会在接收客户连接之前对客户的证书进行证书链验证。缺省值为false, 在这种情况下将不需要证书链连,除非客户请求被CLIENT-CERT验证安全限制保护的资源。.

  • keystoreFile: 表示需要加载的服务器证书存储的文件路径. 缺省情况下, 证书的文件路径是操作系统Tomcat运行home目录下的.keystore文件.

  • keystorePass: 表示从指定的keystore文件中访问服务器证书时需要使用的密码. 缺省值为 changeit.

  • keystoreType: 指定用于存储服务器证书的keystore文件类型. 如果不指定, 缺省值为 JKS.

  • protocol: 指定SSL协议使用的版本. 如果不指定, 缺省值为 TLS.

需要注意的是,如果试着使用自己签发的证书通过HTTPS访问进行SSL配置的测试, 浏览器应该会显示一个警告对话框,表示不能信任签发服务器证书的证书机构 . 例如, 当测试第一个配置例子时,, IE 5.5 就会显示提示服务器证书信息的初始安全警告对话框 Figure 4.1, “The Internet Explorer 5.5 security alert dialog.”. Figure 4.2, “The Internet Explorer 5.5 SSL certificate details dialog.” . 这个警告信息非常重要,因为任何人都可以随心所欲地签发包含任意信息的证书 . 只有通过确认服务器证书是否为信任的第三方签发,才能确保所连接的服务器和它自己代表的机构一致。.

The Internet Explorer 5.5 security alert dialog.

Figure 4.1. The Internet Explorer 5.5 security alert dialog.

The Internet Explorer 5.5 SSL certificate details dialog.

Figure 4.2. The Internet Explorer 5.5 SSL certificate details dialog.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值