https单向认证 java_配置Tomcat使用https协议(单向认证)

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果***者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),用于安全的传输HTTP数据。

format,png

因此,今天来聊一聊关于tomcat(8.5.9)的HTTPS配置步骤

安装JDK环境

安装JDK8tar zxf jdk-8u111-linux-x64.tar.gz -C /usr/local/

export JAVA_HOME=/usr/local/jdk1.8.0_111

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

检查JAVA环境是否安装完成[root@centos ~]# java -version

java version "1.8.0_111"

Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

format,png

安装Tomcat-8.5.9

安装Tomcattar zxf apache-tomcat-8.5.9.tar.gz -C /usr/local/

export CATALINA_HOME=/usr/local/apache-tomcat-8.5.9

source /etc/profile

启动Tomcat服务[root@centos ~]#/usr/local/apache-tomcat-8.5.9/bin/startup.sh

Using CATALINA_BASE: /usr/local/apache-tomcat-8.5.9

Using CATALINA_HOME: /usr/local/apache-tomcat-8.5.9

Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.9/temp

Using JRE_HOME: /usr/local/jdk1.8.0_111

Using CLASSPATH: /usr/local/apache-tomcat-8.5.9/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.9/bin/tomcat-juli.jar

Tomcat started.

[root@centos ~]# netstat -lntup|grep java

tcp 0 0 ::127.0.0.1:8005 :::* LISTEN 4681/java

tcp 0  0 :::8009  :::*  LISTEN 3983/java

tcp 0  0 :::8080  :::*  LISTEN 4681/java

浏览器通过HTTP访问

format,png

format,png

利用JAVA自带工具keytool生成证书[root@mingongge ~]# keytool -genkey -alias tomcat8 -keyalg RSA -keystore /usr/local/keystore

Enter keystore password:

Re-enter new password:  输入密码,不显示

What is your first and last name?

[Unknown]: mingongge 输入你的名字

What is the name of your organizational unit?

[Unknown]: mingongge.com 输入组织单位名称

What is the name of your organization?

[Unknown]: mingongge.com 输入组织名称

What is the name of your City or Locality?

[Unknown]: hefei 输入你的城市

What is the name of your State or Province?

[Unknown]: anhui 输入你的省

What is the two-letter country code for this unit?

[Unknown]: CN  输入国家

Is CN=mingongge, OU=mingongge.com, O=mingogge.com, L=hefei, ST=anhui, C=CN correct?

[no]:  y 确认配置

Enter key password for 

(RETURN if same as keystore password):

如果与前面相同直接回车,也可自定义

keytool命令如下:

-genkey

创建文件,文件中包含用户的公钥、私钥和证书

-alias   产生别名

-keystore指定密钥库的名称

-keyalg   指定密钥的算法

-validity 指定创建的证书有效期多少天

-keysize   指定密钥长度

-storepass 指定密钥库的密码

-keypass   指定别名条目的密码

format,png

配置Tomcat

修改Tomcat配置文件cd /usr/local/apache-tomcat-8.5.9/conf/

cp server.xml  server.xml.$(date +%F)

vim server.xml

maxThreads="150" SSLEnabled="true">

certificateKeystorePassword="123456"

type="RSA" />

重启服务[root@centos conf]# ../bin/shutdown.sh

[root@centos conf]# ../bin/startup.sh

[root@mingongge conf]# netstat -lntup|grep java

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN  12508/java

tcp 0 0 0.0.0.0:8009 0.0.0.0:*  LISTEN  12508/java

tcp 0 0 0.0.0.0:8080 0.0.0.0:*  LISTEN  12508/java

tcp 0 0 0.0.0.0:8443 0.0.0.0:*  LISTEN  12508/java

format,png

通过HTTPS协议访问

浏览器输入https://106.14.200.183:8443

format,png

因为是自生成的证书,所以才会出现上述证书安全有问题,点击继续浏览此网站即可

format,png

可能会有的小伙伴会说,https协议默认端口是443,你这是8443完全不一样,其实你错了,无非是个端口而已,因此回头将配置文件里的Connector port="8443"修改成如下

Connector port="443"

然后重启tomcat服务再测试访问[root@centos conf]# ../bin/shutdown.sh

[root@centos conf]# ../bin/startup.sh

[root@mingongge conf]# netstat -lntup|grep java

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 12508/java

tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 12508/java

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 12508/java

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 12508/java

format,png

两次的效果是完全一样,可以看出tomcat的https协议配置完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值