【第三方软件测试测评机构:使用LoadRunner测试HTTPS/SSL协议应用的配置和证书处理 】

使用LoadRunner测试HTTPS/SSL应用需要正确处理证书格式和配置端口映射。

步骤

1. 证书准备和格式转换

LoadRunner在端口映射中配置客户端证书时,一般需要PEM格式。如果从开发或运维部门获得的证书是.pfx或.cer格式,可以用OpenSSL转换:

bash 复制代码
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes

2. 端口映射配置

配置入口在:Tools > Recording Options > Network > Port Mapping。

新建映射:点击New Entry。

填写信息:输入被测服务器的IP/域名和端口(如443),选择HTTPS作为连接类型。

指定证书:勾选Use specified client-side certificate,并导入准备好的.pem证书文件。如果证书有密码,也需一并填入。

文章来源:卓码软件测评

精彩推荐:点击蓝字即可
软件负载测试API自动化测试软件测试第三方软件测试软件性能测试[]软件测试机构

3. 脚本回放

首次回放脚本时,如果遇到类似 -27796: 服务器SSL证书撤销列表检查失败 的错误,并不是配置有误,而是因为VuGen默认严格检查证书状态。你可以在VuGen的Runtime Settings > Internet Protocol > Preferences中,勾选WinInet replay instead of sockets来解决。这个选项让VuGen使用Windows系统本身的网络组件(WinInet)来模拟浏览器行为,从而自动信任系统已认可的证书,跳过了严格的检查。

高级配置

在实际的压测情形时还需要注意以下两点,直接影响测试的真实性和结果准确:

SSL/TLS协议版本选择:在Controller创建场景时,保证负载生成器(Load Generator)使用的SSL/TLS协议版本和被测服务器兼容。服务器一般已禁用TLS 1.0/1.1,建议选择TLS 1.2或更高版本。

重置SSL状态选项:在场景设计的Run-Time Settings中,找到此选项。

勾选(重置):意味着每次迭代(模拟一个新用户)都会重新进行完整的SSL握手。这能更真实地模拟不同用户,但会产生较大的CPU开销。

不勾选(不重置):同一虚拟用户的多次迭代会复用SSL会话。这能显著降低服务器和负载机的压力,提高单机可模拟的用户数,适用于测试已建立安全连接后的业务性能。

如果测试重点是考虑服务器处理大量新SSL握手连接的能力(如秒杀情形的瞬时登录),应勾选重置。如果测试长时间稳定压力下的业务吞吐,则不勾选,以减少额外开销。

疑难问题

如果遇到问题可以按以下方法进行排查:

录制时无法捕获脚本,事件数为0 捕获级别不正确:在Recording Options > Network > Port Mapping中,将Capture level改为WinINet Level Data。

回放时报 -27776: SSL 连接关闭 或握手失败

  1. 运行时设置未用WinInet回放 ,在Runtime Settings中勾选WinInet replay instead of sockets。

  2. 证书格式或密码错误,检查证书格式是不是为PEM,密码是不是正确。

使用较新版本VuGen录制时SSL握手失败:新版本默认使用SHA-256签名证书,旧服务器可能不兼容,(问题多见于新旧环境交替时)可尝试按官方指导,修改配置来临时使用SHA-1证书。

LoadRunner测试HTTPS应用证书转换、端口映射和WinInet回放是三个重要操作。配置时注意根据测试目的(测连接能力还是测业务吞吐)合理选择SSL状态重置选项。

相关推荐
llilian_161 天前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
阿捏利1 天前
详解网络协议(十六)UDP协议
网络·网络协议·udp
taxunjishu1 天前
AGV 与伺服协同控制Profinet 转 Modbus TCP塔讯智能网关仓储场景应用实践
网络·网络协议
情绪雪1 天前
IP 协议基本原理
网络·网络协议·tcp/ip
Lucas_coding1 天前
【语音相关ASR】OpenAI 兼容 Qwen_ASR 接口调用实战:SDK 与 HTTP 方式详解
网络·网络协议·http
周杰伦的稻香1 天前
tcpdump
网络·测试工具·tcpdump
金玉满堂@bj1 天前
什么是静态测试?
测试工具
不会写DN1 天前
如何设计应用层 ACK 来补充 TCP 的不足?
开发语言·网络·数据库·网络协议·tcp/ip·golang
snow@li1 天前
协议:应用层开发都会涉及哪些协议 / 详细整理 / http、ws、https、wss
网络协议·http·https
椰猫子1 天前
Javaweb(Http、Maven)
网络·网络协议·http