1.项目背景
-vsJ&hl4y:d01.1 单双向SSL的含义及部署51Testing软件测试网6I0Qrj/Uo+F
lKL ~
单向SSL即我们说到的https协议。51Testing软件测试网7B(n*S}9q&kA9U,{
特点是,浏览器需要请求验证服务器证书;
*yxM }0l0基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安**接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
X*t| |6I!y0双向SSL顾名思义就是双方都需要验证证书的协议,浏览器首先向服务端请求证书,然后服务器端需要向浏览器请求目前登陆用户的个人证书验证。51Testing软件测试网3o;Nh%L Y5?`"a'JO;w
1.2 系统的基本部署51Testing软件测试网]3vdmf@@X2v4l;c
单向SSL交互过程:
iQ7b f{U0K]051Testing软件测试网\d;]tbf$OJ#i
/g9q9g0L^*oq0使用单向SSL时,仅通过虚拟主机2,请求即可传递到tomcat完成整个通信过程。
Tc o
J6[0双向SSL交互过程:
M*FKS/eT0使用双向SSL时,请求先到虚拟主机2,由虚拟主机2rewrite至虚拟主机3,再由虚拟主机3与tomcat进行通信。同时在虚拟主机3,会将用户证书放在参数中随请求一起传递给tomcat。51Testing软件测试网5w[6~*^ZB
-U WlM/e]+c01.3 测试背景
{DI+S r4f-H0W!m e0为了配合使用证书系统,本系统上所有请求将更改为使用https进行访问。同时为了增加安全性以及对本系统核心操作的控制,需要对请求进行分级控制,即普通操作为单向SSL,核心操作为双向SSL。51Testing软件测试网FhTm$v
需要交互的系统:OSCP服务器,用于在线验证证书状态。
3r2bQZ`051Testing软件测试网7O8Wh5M-_q
2.测试目的
W#[uEA:@+MJ#JF0主要验证系统:
?(P*[9{Cxy0(1). 评估在预期用户规模的情况下,系统是否响应正常。
Soo:n Bhw!q0(2). 评估系统在应用了单双向SSL之后响应的区别,关联服务器是否会影响该系统的性能情况。51Testing软件测试网jnL1D,K%}{W
(3). 在逐渐增加负载的情况下,分析系统瓶颈。51Testing软件测试网g[H*N0po&W
(4). 在压力情况下系统的表现。51Testing软件测试网}&]n2I-q9^!c
(5). 在长时间运行该模块是否会出现系统性能异常。51Testing软件测试网B
`$jD
RTC
3.测试分析
/p K'nO4F r7R,})C03.1场景分析
2]K4St_1g0假设根据系统分析,主要测试两个场景,第一是单向SSL,登陆场景,第二是双向SSL,对下载文件功能。假设预估的并发用户量都是10人。
e,|;]e4Kc0
r2m+m1tP1Y!K0
Y9gE\3m SENx0用户行为51Testing软件测试网 ND%\8ms!t/P5}v;RU/n | 操作 W
g?
gY&X0 | 预估并发用户量51Testing软件测试网8r#x7lHS2aR(cB |
下载文件 6J
FA)R`&{*z/P0 | 选择指定文件->下载51Testing软件测试网%n\-e;WyQ.C | 1051Testing软件测试网[:V
h!S.g{i&m |
登陆51Testing软件测试网B\kSi9o!C-m | 填写用户名和密码->登陆->加载登陆后界面51Testing软件测试网m)H)u'N;^b | 1051Testing软件测试网,Na+LWn^VN |
QEzh2V.u051Testing软件测试网!O8q&obnf
51Testing软件测试网0i-Up$P*ydg
%q0t.BMQj
Yn03.2测试模块分析51Testing软件测试网h*}{hT3o!v'I
负载测试:主要测试各个场景在正常情况下是否运转,是否系统响应正常。并且对比应用了单双向SSL之后的响应差别,关注到关联服务器是否会影响该系统的性能情况。51Testing软件测试网4M/]9_;r2d*W
并且在不断增加负载的情况下,分析系统的瓶颈。
0j@ \0g_"^0压力测试:主要考察在压力情况下系统的表现,是否会出现性能异常,以及出现异常之后是否能及时回复并给与友好性提示。51Testing软件测试网nxq-S,h
长时间稳定性测试:主要测试系统在预期的用户量下,在一段时间内,是否能够稳定的响应。重点关注下内存是否泄漏。51Testing软件测试网,a\YV-z8w}Z
4.测试执行
Q+x.z*v@8se0基本步骤:录制LoadRunner脚本->执行LoadRunner场景->进行分析51Testing软件测试网]qBS?
在测试执行里主要说一下录制脚本时遇到的问题,关于loadrunner对于单双向SSL脚本录制的问题。
&B\ s'H2pzp0主要从以下几个方面来说,如何将浏览器导出的证书.crt转换为.pem,如何录制单向SSL脚本,如何录制双向SSL脚本。
"N
s_M2^051Testing软件测试网U3vr$NY?k
9P9M!F!G'@w04.1 如何将浏览器导出的证书.crt转换为.pem
E1sA1] ] [)C.DJ051Testing软件测试网G*qG'L w
}#A'H)V'Fp)t#o0所有的blog上都说用openssl转换。那么哪里有openssl?51Testing软件测试网)\~&JM.F
w;Ye
答:这个再linux下面一般都带的,没有的话yuminstall openssl 就可以了
_wBXJm$Z3vU0步骤是什么?
w&Qf[?'t3]
S0答: pfx提取公钥私钥方法如下:
[REyan0 openssl pkcs12 -in server.pfx -nodes -out temp.pem //生成临时文件:temp.pem
Qz
Jt7pK ]kr0 openssl rsa -in temp.pem -out server.key //生成服务器私钥 server.key
u1^TAA/o#[X0 openssl x509 -in temp.pem -out server.pem //生成服务器公钥 server.pem51Testing软件测试网w5KS2ZG'q{C.SV
51Testing软件测试网sN+R.z3D1~#M Il"P0e?c
O8D7a.K!@)lJ&e04.2 如何录制单向SSL脚本?51Testing软件测试网F{1] A~3R l6V*cH
只需要设置LoadRunner即可,LR中可以直接录制https脚本,只需在create new scripts->web(HTTP/HTML)->start record->options->netword下的port mapping,设置为winnetlevel data51Testing软件测试网Tgw"DH o
4.3 如何录制双向SSL脚本?51Testing软件测试网)G_m2we|r
4SX3J \&H0由于LR的机制是利用LR模拟浏览器与服务器进行交互,所以证书需要安装在51Testing软件测试网_'H"Xl/@#X1P
|`uA/mB0