jmeter 请求带证书的 客户端的SSL/TLS证书和私钥https请求

背景:

工作需要对下面接口进行压测,走的是https 带证书的请求

curl -v -X POST -u acsuser:admin@20232023 
--cert '/home/bdgw/ssl/server.crt' 
--key '/home/bdgw/ssl/server.key' 
-H "Content-Type: application/json" 
-d '{"thirdAlarmId":"comp20240812212417558vCcLZaTKX2",
"eventCode":"ALARM_TRANSFER_FAIL","alarmTime":"2024-08-14 21:00:17"}' 
--insecure "https://172.16.21.124:10005/aes/alarm/report"

网上好多教程是走前端页面拿的证书进行转换 ,尝试多次以后 执行依旧报错

<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>nginx</center>
</body>
</html>

在这里插入图片描述
最后,仔细思索,觉得请求的端口不是前端页面的地址,因此拿前端的证书不可用,经过查询资料发现可以通过以下方式解决

步骤:

1.找到 客户端证书 (server.crt) 和私钥 (server.key)

从上述接口中得知 证书和私钥地址
/home/bdgw/ssl/

2.将客户端证书 (server.crt) 和私钥 (server.key) 结合成一个单一的 PKCS12 密钥库文件

将证书和密钥文件合并为一个 PEM 文件:
cat /home/bdgw/ssl/server.crt /home/bdgw/ssl/server.key > /home/bdgw/ssl/client.pem
在这里插入图片描述

3.创建 PKCS12 密钥库:

将 PEM 文件转换为 PKCS12 密钥库文件:
openssl pkcs12 -export -out /home/bdgw/ssl/client.p12 -in /home/bdgw/ssl/client.pem -name client -passout pass:mykeystorepassword
替换 mykeystorepassword 为您能记住的安全密码。我使用的是123456
[图片]

4.在 JMeter 中配置 PKCS12 密钥库

右键点击线程组并选择 添加 > 配置元素 > SSL 管理器 选择文件
在这里插入图片描述

5运行 输入密码

密码是mykeystorepassword我设置的是123456
[图片]

[图片]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值