TOMCAT使用CA签发证书配置单向和双向SSL

一.获取签发服务器证书以及CA证书

1.创建本地证书密钥库以及密钥对

[plain]  view plain  copy
 print ?
  1.       
  2. keytool -genkey -alias tomcat -keyalg RSA -keystore <your_keystore_filename>  

在填写证书信息时,需要注意的是 "名字与姓氏" 或者 英文的"first- and lastname"填写服务器域名,

比如填写localhost

2.创建证书签发请求文件,里面包含了该文件的base64码用于获取签发证书

[plain]  view plain  copy
 print ?
  1. keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <your_keystore_filename>  

3.登录CA服务器http://ip/certsrv高级证书申请,使用base64码提交证书申请

然后使用文本打开*.csr文件,拷贝里面的所有内容,复制到表单,证书模板选择Web 服务器或者自己弄的Web 服务器副本

4.下载申请的证书和CA的证书

比如CA的证书名是cacert.cerweb服务器证书名是tomcat.cer

二.导入证书到证书库

5.将CA证书导入证书库

[plain]  view plain  copy
 print ?
  1. keytool -import -alias root -keystore <your_keystore_filename> -trustcacerts -file cacert.cer  
6.将web服务器证书导入证书库

[plain]  view plain  copy
 print ?
  1. keytool -import -alias tomcat -keystore <your_keystore_filename> -file tomcat.cer  
三.配置TOMCAT

7.配置$CATALINA_BASE/conf/server.xml

1)单向认证

[html]  view plain  copy
 print ?
  1. <Connector port="8443" maxThreads="200"  
  2.            scheme="https" secure="true" SSLEnabled="true"  
  3.                clientAuth="true" sslProtocol="TLS"   
  4.                keystoreFile="<your_keystore_filename>" keystorePass="123456"/>  
2)双向认证

[html]  view plain  copy
 print ?
  1. <Connector port="8443" maxThreads="200"  
  2.           scheme="https" secure="true" SSLEnabled="true"  
  3.               clientAuth="true" sslProtocol="TLS"   
  4.               keystoreFile="<your_keystore_filename>" keystorePass="123456"  
  5.               truststoreFile="<your_keystore_filename>" truststorePass="123456"   
  6.               />  
8.有兴趣的可以改下log配置,查看转向到https时候tomcat的操作

tomcat修改Log为log4j

然后在log4j.properties里添加

[plain]  view plain  copy
 print ?
  1. log4j.appender.SSL=org.apache.log4j.DailyRollingFileAppender  
  2. log4j.appender.SSL.File=${catalina.base}/logs/ssl.log  
  3. log4j.appender.SSL.Append=true  
  4. log4j.appender.SSL.Encoding=UTF-8  
  5. log4j.appender.SSL.DatePattern='.'yyyy-MM-dd'.log'  
  6. log4j.appender.SSL.layout = org.apache.log4j.PatternLayout  
  7. log4j.appender.SSL.layout.ConversionPattern = %d [%t] %-5p %c- %m%n  
  8.   
  9. log4j.logger.org.apache.catalina.authenticator=DEBUG, SSL  
  10. org.apache.catalina.authenticator=DEBUG, SSL  
用于记录认证过程

9.配置项目web.xml用于只能通过https访问

[html]  view plain  copy
 print ?
  1. <security-constraint>  
  2.     <web-resource-collection>  
  3.         <web-resource-name>Login</web-resource-name>  
  4.         <url-pattern>/account/*</url-pattern>  
  5.         <http-method>POST</http-method>  
  6.         <http-method>GET</http-method>  
  7.     </web-resource-collection>  
  8.     <user-data-constraint>  
  9.         <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
  10.     </user-data-constraint>  
  11. </security-constraint>  
http-method为当为配置的访问方式时才进行认证跳转

url-pattern跟servlet的配置一样

<transport-guarantee>CONFIDENTIAL</transport-guarantee>这一条则规定只能通过https访问,使用http访问时自动重定向到https如果需要从https跳转到http需要在代码中重定向,暂时不了解其他方法跳转回来

10.启动TOMCAT,访问https://localhost:8443就OK了

参考:

1.TOMCAT SSL HOW-TO

2.TOMCAT自签发证书 SSL双向认证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Tomcat配置 SSL 证书,你可以按照以下步骤进行操作: 1. 获取 SSL 证书:首先,你需要获取一个有效的 SSL 证书。你可以从权威的证书颁发机构(CA)购买证书,或者使用自签名证书(不推荐在生产环境中使用)。 2. 将 SSL 证书文件放置到适当的位置:将 SSL 证书文件(包括公钥和私钥文件)放置到 Tomcat 配置目录下的 `conf/` 目录中。通常,公钥证书的文件扩展名是 `.crt` 或 `.pem`,而私钥文件的扩展名是 `.key`。 3. 编辑 Tomcat 的 `server.xml` 文件:打开 Tomcat 的 `server.xml` 配置文件,该文件位于 Tomcat 安装目录下的 `conf/` 目录中。 4. 在 `<Connector>` 元素中配置 SSL: - 找到 `<Connector>` 元素,该元素用于配置 Tomcat 的连接器。 - 添加 `SSLEnabled="true"` 属性来启用 SSL。 - 添加 `keystoreFile` 属性,并将其值设置为私钥文件的路径。例如:`keystoreFile="conf/your_private_key_file.key"`。 - 添加 `keystorePass` 属性,并将其值设置为私钥文件的密码。 - 添加 `keystoreType` 属性,并将其值设置为 keystore 的类型。通常情况下,使用 `PKCS12` 或 `JKS` 格式的 keystore。 - 添加 `keyAlias` 属性,并将其值设置为证书别名。如果只有一个证书,可以将其值设置为 `tomcat`。 - 如果需要监听指定的端口(默认为 8443),可以在 `<Connector>` 元素中设置 `port` 属性。 5. 保存并关闭 `server.xml` 文件。 6. 启动 Tomcat:启动 Tomcat 服务器,它将加载并使用配置SSL 证书。 请注意,以上步骤中的具体细节可能因为你使用Tomcat 版本而有所不同。确保按照正确的版本文档进行操作。 配置完成后,Tomcat使用 SSL 证书启用加密连接。你可以通过访问 `https://your_domain:8443` 来测试 SSL 连接是否正常。记得将 `your_domain` 替换为你的域名或 IP 地址,并根据实际情况更改端口号。 祝你成功配置 SSL 证书!如有任何进一步问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值