Tomcat配置SSL认证

本文介绍如何使用openssl和keytool工具生成服务器端及客户端证书,并详细说明了Tomcat中SSL的安全配置过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文就是一个大概的思路,怕回头弄完这一块学点啥再全还给老师了--!

纯是自己的理解,不对的地方欢迎大家指正!:)

自己做CA玩呢,就先生成CA的私钥、待签名的证书、自签名的X509证书文件、还有我们的p12证书文件

因为发布服务器端证书和客户端证书需要未加密的CA根证书,所以还要从CA的根证书导出未加密的CA根证书

导出完事要把前4行的BagAttribute去掉(会用到cygwin的sed命令),不然等下keytool import会有问题

然后就是服务器端证书了,生成密钥对、待签名证书,用CA私钥签名生成X509证书文件

将服务器端的X509和CA的未加密的X509都导入keystore中(存放服务器端KeyPair的那个)

同时不要忘了把CA根证书导入到JSSE的默认位置----%JAVA_HOME%/jre/lib/security/cacerts

服务器端证书主要就是这个生成的keystore

客户端证书:生成私钥、待签名证书,用CA私钥签名后生成X509证书文件,最后生成p12个人证书

用户使用时直接把这个p12导入浏览器就好了

上面这些主要使用openssl和java的keytool工具,我也没玩的太明白,具体使用大家勤快点自己查查吧

然后就要修改tomcat的配置文件了,就是conf/server.xml

找到 <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->这一行

先把下边的注释标签删掉,tomcat默认是不启用SSL安全认证的

端口,可以自己改,注意改完了把上边non-SSL HTTP/1.1 Connector的redirectPort也改成一样的

<Connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="true" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="true" sslProtocol="TLS"
  keystoreFile="F:/apache-tomcat-5.5.17/conf/ssl-test.net-tomcat.keystore"  keystorePass="openssl"
  truststoreFile="F:/apache-tomcat-5.5.17/conf/ssl-test.net-tomcat.keystore"  truststorePass="openssl" />

keystoreFile和truststoreFile就是我们在生成服务器端证书的过程中生成的那个keystore

密码是自己设的,谁弄不对了败找我

这样就可以了,启动tomcat服务器可以看到Initializing Coyote HTTP/1.1 on http-8443

当你访问一个需要认证的页面时,就会看到浏览器的地址栏从http变成了https

你和网站之间的通信就在SSL协议的保护下进行了

 

大家有不明白的可以看我老师这篇http://blog.youkuaiyun.com/sunjavaduke/archive/2007/03/01/1518186.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值