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

server/2024/10/18 8:33:09/

背景:

工作需要对下面接口进行压测,走的是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>

https://i-blog.csdnimg.cn/direct/85a29e0b76bd4fefb6ceaeb95933eff5.png" alt="在这里插入图片描述" />
最后,仔细思索,觉得请求的端口不是前端页面的地址,因此拿前端的证书不可用,经过查询资料发现可以通过以下方式解决

步骤:

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
https://i-blog.csdnimg.cn/direct/84630733a0c8423d8faeddd676994434.png" alt="在这里插入图片描述" />

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
https://i-blog.csdnimg.cn/direct/b5d8fcf1815f4cdeb5b7b417f3dda4cc.png" alt="[图片]" />

4.在 JMeter 中配置 PKCS12 密钥库

右键点击线程组并选择 添加 > 配置元素 > SSL 管理器 选择文件
https://i-blog.csdnimg.cn/direct/43d4a3b7defe4eb5869325883de76b58.png" alt="在这里插入图片描述" />

5运行 输入密码

密码是mykeystorepassword我设置的是123456
https://i-blog.csdnimg.cn/direct/6917248127e94dde86a943df95af5627.png" alt="[图片]" />

https://i-blog.csdnimg.cn/direct/a767bafc16134a18b837a9b93ef4a3ad.png" alt="[图片]" />


http://www.ppmy.cn/server/104444.html

相关文章

更换域名后图片不显示

问题&#xff1a;系统更换域名后&#xff0c;图片不显示了&#xff1b; 原因&#xff1a;系统中图片是带域名存储在数据的&#xff0c;所以更换域名后&#xff0c;图片地址还是以前的域名&#xff0c;所以访问不到&#xff1b; 解决方法&#xff1a; 以下两个方法都是只能更…

git如何将多个提交合并为一个提交

目录 第一种&#xff1a;使用git rebase命令 第二种&#xff1a;使用git reset命令 重新提交 第一种&#xff1a;使用git rebase命令 使用以下命令的其中一种启动交互式 rebase git rebase -i 你想要合并提交的父提交的哈希值git rebase -i <commit-hash>^ &#…

PCL-基于超体聚类的LCCP点云分割

目录 一、LCCP方法二、代码实现三、实验结果四、总结五、相关链接 一、LCCP方法 LCCP指的是Local Convexity-Constrained Patch&#xff0c;即局部凸约束补丁的意思。LCCP方法的基本思想是在图像中找到局部区域内的凸结构&#xff0c;并将这些结构用于分割图像或提取特征。这种…

mac安装ipa包【金铲铲为例】

mac安装ipa包 安装PlayCover 链接&#xff1a;https://github.com/PlayCover/PlayCover 1、点最新Releases 2、cmd ↓&#xff0c;拉到最下面下载dmg 3、安装 图标拖拽到Applications里 IPA下载 以金铲铲为例&#xff0c;良心砸壳包站点&#xff0c;有能力可以支持一下…

day40——IO模型补充

2.4 epoll模型 epoll模型只有linux系统才有 epoll模型只有从linxu内核2.4版本之后才有 epoll从2.4内核到目前的4.X内核&#xff0c;没有更新的模型了&#xff0c;说明epoll模型本身已经很完美了 select的问题&#xff1a; 监视列表无法扩容 监视列表和返回的激活列表混在了…

【计算机三级-数据库技术】数据库后台编程技术

内容提要 1、掌握存储过程的定义与使用 2、掌握用户定义函数的创建与使用 3、掌握触发器的定义与使用 4、掌握游标的定义与使用 第一节 存储过程 使用T-SQL语言编写&#xff0c;有两种方式存储&#xff1a; 在客户端存储代码通过客户端程序或SQL命令向DBMS发出操作请求&…

Android笔试面试题AI答之Kotlin(16)

文章目录 74. 解释何时需要泛型类型形参约束 &#xff1f;示例 75. Kotlin reified实化类参数的原理 &#xff1f;内联函数&#xff08;Inline Functions&#xff09;类型具体化&#xff08;Type Specialization&#xff09;实化类参数&#xff08;Reified Type Parameters&…

算法5:位运算

文章目录 小试牛刀进入正题 没写代码的题&#xff0c;其链接点开都是有代码的。开始前请思考下图&#xff1a; 小试牛刀 位1的个数 class Solution { public:int hammingWeight(int n) {int res 0;while (n) {n & n - 1;res;}return res;} };比特位计数 class Solution…