




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验10BSSL协议测试实验目的熟练掌握tomcat中SSL协议的配置。初步理解Java环境下HTTPS客户与服务器程序的开发。实验准备(1)Tomcat因技术先进和免费,深受Java爱好者的喜爱,成为目前比较流行的Web应用服务器。为Tomcat配置SSL,它包含以下两个步骤:(1)
准备安全证书,(2)
配置Tomcat的SSL连接器(Connector)。(2)客户机/服务器模式的SSL编程和基于Socket的编程类似,不同的地方在于其ServerSocket对象是通过SSLServerSocketFactory类型的对象创建的,这样以后的输入和输出流将自动按照SSL协议指定的方法交换密钥并对数据进行加密。此外,需要指定包含证书的密钥库,以便客户程序确定SSL服务器是否可靠。实验内容(1)tomcat中SSL协议的配置=1\*GB3①准备安全证书获得安全证书有两种方式:一种方式是到权威机构购买,还有一种方式是创建自我签名的证书。SUN公司提供了制作自我签名的证书的工具keytool。通过keytool工具创建自签名证书的命令为:keytool
-genkeypair
-alias
"tomcat"
-keyalg
"RSA"-keystoreC:\tomcat.key。
这部分内容在上一章的实验中已经讨论过,这里要注意密码部分的设置,keystore密码和密钥(key)密码应该设置成同一密码,下一步的SSL连接器配置中要使用该密码。=2\*GB3②配置SSL连接器在Tomcat的server.xml文件中,已经提供了现成的配置SSL连接器的代码,只要把<Connector>元素的注释去掉即可:<!—
Define
a
SSL
HTTP/1.1
Connector
on
port
8443
This
connector
uses
the
JSSE
configuration,
when
using
APR,
the
connector
should
be
using
the
OpenSSL
style
configuration
described
in
the
APR
documentation
<Connector
port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="C:/tomcat.key"/>
keystorePass="对应的密码"
/>
实际上,基于SSL的HTTPS使用的默认端口是443。但Tomcat在这里将HTTPS端口设置为8443。<Connector>配置里的一些属性参数如下表:属性描述clientAuth如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证keystoreFile指定keystore文件的存放位置,可以指定绝对路径,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。keystorePass指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。sslProtocol指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。ciphers指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。=3\*GB3③访问支持SSL的Web站点由于SSL技术已建立到绝大多数浏览器和Web服务器程序中,因此,仅需在Web服务器端安装服务器证书就可以激活SSL功能了。如果上述的第一步和第二步已经配置完毕,那么就可以重启Tomcat服务器了,然后从IE浏览器中以HTTPS方式来访问在Tomcat服务器上的任何一个Web应用。现在我们访问地址:https://localhost:8443进行测试。当Tomcat收到这一HTTPS请求后,会向客户的浏览器发送服务器的安全证书,IE浏览器接受到证书后,将向客户显示安全警报窗口,说明该安全证书非权威机构颁发,不能作为有效的验证对方身份的凭据。上述情况明SSL协议已经正常工作。(2)Java环境下HTTPS客户与服务器程序的开发分析调试下列服务器端程序和客户机端程序,回答实验报告中的问题。=1\*GB3①服务器端程序import
.*;import
java.io.*;import
.ssl.*;public
class
MySSLServer{
public
static
void
main(String
args[
])
throws
Exception{
System.setProperty(".ssl.keyStore","mykeystore");
System.setProperty(".ssl.keyStorePassword","aaa");
SSLServerSocketFactory
ssf=(SSLServerSocketFactory)
SSLServerSocketFactory.getDefault(
);
ServerSocket
ss=ssf.createServerSocket(5432);
System.out.println("Waiting
for
connection...");
while(true){
Socket
s=ss.accept(
);
PrintStream
out
=
new
PrintStream(s.getOutputStream(
));
out.println("Hi");
out.close(
);
s.close(
);
}}}=2\*GB3②客户机端程序import
.*;import
java.io.*;import
.ssl.*;public
class
MySSLClient{
public
static
void
main(String
args[
])
throws
Exception
{
System.setProperty(".ssl.trustStore","clienttrust");
SSLSocketFactory
ssf=
(SSLSocketFactory)
SSLSocketFactory.getDefault(
);
Socket
s
=
ssf.createSocket("",
5432);
BufferedReader
in
=
new
BufferedReader(new
InputStreamReader(s.getInputStream(
)));
String
x=in.readLine(
);
System.out.println(x);
in.close(
);
}}四、实验报告1.通过实验回答下列问题(1)给出实验内容(1)配置完成后的测试结果。【每次实验用的电脑不太一样,所以截图上的ip地址不相同】通过安装证书,和在浏览器的高级设置中进行安全证书导入可以打开网页。实验内容(2)中,如果要让客户端和服务器端程序运行起来,密钥库应该如何设置?设置密钥库及口令:System.setProperty(".ssl.keyStore","C:\\apache-tomcat-8.5.50\\conf\\key\\tomcat.keystore");System.setProperty(".ssl.keyStorePassword","123123");需要设置的参数:.ssl.keyStore指定密钥库的名称,.ssl.keyStorePassword指定密钥库的密码。实验内容(2)中,当服务器和客户机连通后,客户端显示的结果是什么?2.简答题(1)描述SSL协议的构成和各部分的功能。SSL协议分为两层,下层为SSL记录协议,上层为SSL握手协议、SSL密码变化协议和SSL警告协议。下层为SSL记录协议,主要作用是为高层协议提供基本的安全服务建立在可靠的传输之上,负责对上层的数据进行分块、压缩、计算并添加MAC(消息验证码)、加密,最后把记录块传输给对方。上层为SSL握手协议、SSL密码变化协议和SSL报警协议1.SSL握手协议:SSL握手协议被封装在SSL记录协议中,该协议允许服务器与客户端在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。在初次建立SSL连接时,服务器与客户机交换一系列消息。2.SSL修改密文协议:保障SSL传输过程中的安全性,客户端和服务器双方应该每隔一段时间改变加密规范3.SSL报警协议:用来为对等体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。当打开淘宝网首页,描述浏览器和服务器已经完成的交互。1.客户使用https的URL访
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关注校园环境卫生
- 合同房地产合作专项项目合同4篇
- 电脑及配件销售合同模板6篇
- 急救知识健康宣教
- 儿童预防疾病总结
- 2025西安思源学院辅导员考试试题及答案
- 2025贵州民族大学辅导员考试试题及答案
- 2025苏州工业园区服务外包职业学院辅导员考试试题及答案
- 2025年广东省深圳市龙岗区中考历史二模试卷
- 初中生的卫生管理要点
- 课题研究成效公告模板
- 马克思主义与社会科学方法论(研究生政治课程)复习重点
- 《行政监督》课件
- 2024届四川省攀枝花市重点名校中考冲刺卷生物试题含解析
- 民事诉讼检察建议制度研究
- 2023年东南大学健美操理论考试答案
- 减少门诊投诉PDCA课件
- 驾驶员劳务派遣投标方案
- 稀土生产工艺流程图矿的开采技术
- 教育学 综合实践活动
- 地基钎探技术交底
评论
0/150
提交评论