`
huangyuanmu
  • 浏览: 286833 次
  • 性别: Icon_minigender_1
  • 来自: 龙城
社区版块
存档分类
最新评论

tomcat中SSL的配置

阅读更多

为了提高web通信的安全性,可以使用SSL,在JRE5和TOMCAT平台上,配置SSL应用还是比较简单的:
Tomcat服务器下,配置SSL可以遵循以下步骤:

1.使用JSSE产生服务器端证书

在命令行中输入:keytool -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat.key

在执行这个命令后,你首先被要求出示keystore密码。Tomcat使用的默认密码是 " changeit "(全都是小写字母),如果你愿意,你可以指定你自己的 密码。你还需要在server.xml配置文件里指定自己的密码,这在以后会有描述。 下一步,你会被要求出示关于这个认证书的一般性信息,如公司,联系人名称,等等。这些信息会 显示给那些试图访问你程序里安全网页的用户,以确保这里提供的信息与他们期望的相对应。 最后,你会被要求出示密钥(key)密码,也就是这个认证书所特有的密码(与其它的 储存在同一个keystore文件里的认证书不同)。你必须在这里使用与keystore 密码相同的密码。(目前,keytool会提示你按ENTER键会自动帮你做这些)。如果一切顺利,你现在就拥有了一个可以被你的服务器使用的有认证书的keystore文件(证书的默认有效期是90天,你可以在生成证书的时候设置更长的证书有效期,具体请查看keytool的帮助)。 注意: 你的 private key 的密码和 keystore 的密码应该相同。 如果不同的话你会得到一下错误信息: java.io.IOException: Cannot recover key。

2.修改tomcat的配置文件,使之支持SSL


打开server.xml,添加如下内容:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:/tomcat.key" />

如果你在生成证书的时候,没有使用默认密码(changeit),则这里配置的时候,就要加上证书的密码参数。

3.修改web.xml(这里以piston控制台的配置作为说明),使用SSL

打开web.xml,添加如下内容(这里除了SSL还配置了http摘要验证):

<security-constraint>
      <web-resource-collection>
          <web-resource-name>piston test</web-resource-name>
          <url-pattern>/piston/console/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>manager</role-name>
      </auth-constraint>
      <user-data-constraint>
         <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
   </security-constraint>
   <login-config>
     <auth-method>DIGEST</auth-method>
   </login-config>

    配置好了SSL以后,在浏览器中输入piston控制台的地址,ie可能会有一些警告信息提示,不用管它,继续访问。下载证书安装,添加到信任机构。经过http验证以后,你就会发现url是以https开头,而端口号被重定向到8443端口。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics