Jmeter之访问一个SSL双向认证的接口

lucy

JMeter Dashboard and other JMeter Improvement - RedLine13

我之前的章节接口测试之证书,对于各种不同格式的证书做了说明。可是Jmeter需要的证书都不是这篇文章里提到的。

Jmeter需要导入的证书是keystore证书。这一章节,我讲会以一个例子来说明如何使用Jmeter来访问一个SSL双向认证的接口。

1 生成keystore证书

如果你拥有的是key和crt的话,那你要得到keystore的证书需要经历两个步骤。一步是根据key和crt生成p12,然后使用p12生成keystore。

1.1 把.key + .crt 生成 P12 证书

命令行执行下面的命令,会生成一个p12的文件,叫server.p12 ,注意同时还会设置一个p12的密码,需要记住,下一步会用到。

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt
这一部分可以参考 [接口测试之证书]这篇文章
1.2 使用p12生成keystore文件
1.2.1 keytool介绍

这里需要提到提到jdk自带的keytool工具,我们需要使用这个工具来生成keystore证书。

我们可以使用which命令,查看keytool的安装路径

Hongs-MacBook-Pro:bin hong.liu1$ which keytool
/usr/local/opt/openjdk@11/bin/keytool
1.2.2 keytool生产keystore

先cd到刚才生成的p12文件的路径下,然后执行下面命令

keytool -importkeystore -srckeystore certificate.P12 -srcstoretype PKCS12 -srcstorepass certificate_password -keystore mystore.keystore -storepass keystore_password
  • certificate.P12: 就是之前生成的p12证书,在我们的例子里叫 server.p12
  • certificate_password: p12的密码
  • keystore_password: 设置keystore的密码,这个密码要记住,之后jmeter导入后需要使用。

我们这个例子里,我们的命令如下,p12的密码和keystore的密码我们都设置为porschepreview

keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass porschepreview -keystore myporshe.keystore -storepass porschepreview

到这一步为止,我们就生成了一个名字为 myporshe.keystore 密码为 porschepreview的证书。

2 证书导入Jmeter

2.1 进入SSL 管理页面导入证书

点击左上角的 Options->SSL Manager, 选中之前生产的 myporsche.keystore 证书。

image.png

2.2 跑SSL双向认证的请求

跑请求,跑的时候会弹出一个框让你输入密码,这个密码就是myporshe.keystore的密码,在前面 1.2.2步骤生成的。密码输入后请求就跑成功了。

更多信息可以参考:https://developer.ibm.com/mai...
阅读 451
4 声望
0 粉丝
0 条评论
4 声望
0 粉丝
宣传栏