在实际工作中,我们大多数接口都是用的HTTPS来保证安全,使用jmeter测试HTTPS请求是如何配置证书呢?
1.最简单的方法,在选项里选择SSL管理器,然后选择相应的证书即可
在弹出的选择框选择证书即可,亲测可以使用.p12证书,因为我们公司用的是p12类型证书,当发起HTTPS请求时,如果设置的有证书密码,会弹窗让你输入证书密码,然后就请求成功了
2.第一种方法如果重启了jmeter,下次请求时还要再次设置证书,还要输入密码,非常不方便,我们可以在系统中修改配置来解决这个问题,首先把p12证书改成jmeter支持的keystore证书,进入到存放.p12的证书的文件夹下,执行如下命令(此命令是在mac下执行的,需要安装java环境,windows需要自己修改)。 source.p12是源文件,target.keystore是转换后的证书名称,输入命令敲回车会让你设置target.keystore证书的密码,这个密码会在下面的配置中用到,会让你二次输入密码确认,然后会让你输入源文件的密码。设置成功后就会在当前文件夹下生产一个target.keystore的证书
keytool -v -importkeystore -srckeystore source.p12 -srcstoretype PKCS12 -destkeystore target.keystore -deststoretype JKS
3.进入jmeter的bin文件夹,修改system.properties文件,设置javax.net.ssl.keyStore值为证书存放位置,最后把证书放在jmeter的bin文件夹下,我是在bin文件夹下创建了一个cer存放证书,图中使用了相对路径。设置javax.net.ssl.keyStorePassword的值为刚设置的证书密码,注意默认javax.net.ssl.keyStore和javax.net.ssl.keyStorePassword是注释掉的,需要放开,修改完毕保存后重启jmeter,再次请求时就不需要再设置证书啦