tomcat配置证书

[size=x-small][size=xx-large][size=medium]

1、利用java 生成一个.keystore文件

进入命令行(假设已经设定了环境变量)

执行 keytool -genkey -alias tomcat -keyalg RSA 结果如下

(1)

C:\Users\Administrator>keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  Ted
您的组织单位名称是什么?
  [Unknown]:  home
您的组织名称是什么?
  [Unknown]:  home
您所在的城市或区域名称是什么?
  [Unknown]:  GZ
您所在的省/市/自治区名称是什么?
  [Unknown]:  广东省广州市
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=Ted, OU=home, O=home, L=GZ, ST=广东省广州市, C=CN是否正确?
  [否]:  是

输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):

C:\Users\Administrator>

此时在C:\Users\Administrator目录则会生成一个.keystore文件。

(2)

在tomcat的conf文件夹中的server.xml修改一下代码:

将注释代码
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

改为:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"

port="8443" minSpareThreads="5" maxSpareThreads="75"

enableLookups="true" disableUploadTimeout="true"

acceptCount="100"maxThreads="200"

scheme="https" secure="true" SSLEnabled="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="C:\Users\Administrator\.keystore"

keystorePass="XXX"/>

注意:keystoreFile是文件放置的路径,你可以将文件放在任何位置。

keystorePass是文件的密码,这是你在用java生成文件的时候你设置的密码。



以上两个步骤,就可以为你的web应用添加证书。

但是,如果你希望你的web应用只需要部分需要证书,则可以继续下一步。

(3)在你的web应用中的web.xml添加如下代码:

<security-constraint>
        <web-resource-collection>
            <web-resource-name>securedapp</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

留意以上代码中<url-pattern>/*</url-pattern>,此时也是整个应用拥有证书,修改一些这个url-pattern,根据你需要的url来修改。则可以实现部分证书功能。
转自:http://m.blog.csdn.net/blog/Ted526200/8499473
[/size][/size][/size]

posted on   Msea  阅读(606)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示