我正尝试向隐藏在反向代理后面的应用程序发送http GET / POST请求。与反向代理的通信通过https进行,并且代理需要客户端证书。
似乎密钥库证书(gatling.http.ssl.keyStore.file)未用于向反向代理进行身份验证。我认为这是因为:
我还没有发现如何指定客户端证书用于反向代理身份验证的提示。可能客户端证书已用于通过反向代理进行身份验证,而其他配置未正确配置。我不知道如何进一步分析...
希望其他人已经面临相同的问题,并且知道解决方案。还暗示着我可以更深入地学习!
谢谢
答案 0 :(得分:0)
我在OSX上使用Gatling 2.x来做到这一点。它还需要几个步骤。在gatling.conf中设置证书路径是不够的。
我收到了CRT.pem和KEY.pem文件。我基于密钥对创建了p12 cert。
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中设置正确的路径(取决于操作系统)
我的加特林机密会议
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处理自定义证书的正确方法。