我正在尝试将HTTP GET / POST请求发送到隐藏在反向代理后面的应用程序。与反向代理的通信通过https进行,并且代理需要客户端证书。
看来密钥库证书(gatling.http.ssl.keyStore.file)未被用于向反向代理进行身份验证。我认为这是因为:
我没有发现提示,我如何指定将客户端证书用于反向代理的身份验证。可能客户端证书已用于通过反向代理进行身份验证,而其他配置未正确配置。我不知道如何进一步分析...
希望其他人已经面临相同的问题,并且知道解决方案。还暗示着我可以更深入地学习了!
谢谢
openssl pkcs12 -export -in client1-crt.pem -inkey client1-key.pem -out cert.p12
然后我创建了存储并将证书导入到密钥库。
keytool -importkeystore -deststorepass mycert -destkeystore filename-new-keystore.jks -srckeystore cert.p12 -srcstoretype PKCS12
下一步是在gatling.conf中设置正确的路径(取决于OS)
我的加特林机密会议:
gatling { http { ssl { keyStore { type = "PKCS12" file = "/Users/lukasz/cert.p12" password = "" } trustStore { type = "" file = "/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/security/cacerts" password = "changeit" } } } }
这样,我就可以在Gatling中使用自定义证书。我不确定这是解决方法还是这是通过JVM处理自定义证书的正确方法。