这个技巧很实用!!!

发表于:2017-11-28 08:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:PengYue 搜狗测试    来源:51Testing软件测试网采编

  哈喽,艾瑞巴蒂,小编又在一个新的周二和大家见面了,随着时代的进步,互谅网的发展越来愈多的脏数据出现在我们的生活中,不得不让我们加以防范,我们的接口也是一样全部在HTTP的基础上增加了“S”,让我们一起了解下这个“S”的神秘之处吧~
  什么是HTTPS
  在HTTP基础上提出的一种安全的HTTP协议,因此可以称为安全的超文本传输协议。HTTP协议直接放置在TCP协议之上,而HTTPS提出在HTTP和TCP中间加上一层加密层。从发送端看,这一层负责把HTTP的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成HTTP的内容。
  什么是SSL(Secure Socket Layer)?
  SSL是Netscape公司设计的主要用于WEB的安全传输协议。从名字就可以看出它在https协议栈中负责实现上面提到的加密层,HTTPS工作流程图: 
  如何测试HTTPS接口?
  第一种方式
  通过Fiddler可以直接将请求重定向至我们指定的请求上,利用Fiddler中的AutoResponder,拦截请求后直接在RuleEditor中选择”redir:http://www.example.com“ 将http://www.example.com替换成目标URL即可,如图: 
  Ps:
  ●上图中测试场景一般是首次切换HTTPS请求,客户端发送的是HTTP协议请求,却想验证切换HTTPS协议后对客户端有什么影响。
  踩过一个坑:
  ●由于推广需求,需要在某输入法中嵌入信息流数据源,为了安全,数据请求已经切换HTTPS协议,但是我们没有支持HTTPS协议的测试服务器,所以就用到了上面的方法,结果就是通过Fiddler重定向请求返回的数据无法正常显示在客户端,原因是客户端做了限制,HTTP请求返回的数据为非信任返回,不做处理,导致客户端显示空白。
  Question:
  ●如果遇到了上述问题如何处理?让我们带着这个问题一起往下看~
  第二种方式
  通过构造SSL证书,将服务器构造成支持HTTPS协议的测试环境,在方法如下:
  第一步
  生成KEY
  openssl genrsa -des3 -out ca.key 1024 //执行命令后输入任意字符即可
  去掉访问密码
  openssl rsa -in ca.key -out ca.key //存在密码的话访问和重启都需要密码
  生成CRT文件
  openssl req -new -x509 -key ca.key -out ca.crt 
  Ps:
  证书文件放在任意目录即可
  以上代码生成证书是有时间限制的,生成10年证书方法: 
  openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ca.key -out ca.crt
  第二步
  修改Nginx配置文件,增加SSL相关配置
  server
  {
  listen 443 ssl;
  ssl_certificate /etc/ssl/private/ca.crt;
  ssl_certificate_key /etc/ssl/private/ca.key;
  }
  Ps:
  ●配置文件中的代码块如下时,请注意~ 
  server
  {
  listen *:443; #这样的书写方式会把普通的HTTP协议请求也使用证书处理,这样请求就会返回错误了
  ssl_certificate /etc/ssl/private/ca.crt;
  ssl_certificate_key /etc/ssl/private/ca.key;
  }
  第三步
  重启Nginx,让配置生效即可,就可以执行自己的测试用例了~
  以上就是小编为大家介绍的"S"的含义和具体的测试方法,你是否融会贯通了呢,赶紧试试吧,有问题欢迎留言哦!
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号