我正在使用RestAssured Java库来测试REST API,并且在调用API时需要使用证书。我遇到了以下stackoverflow链接How to make HTTPS GET call with certificate in Rest-Assured java,但是所有解决方案似乎都不起作用。
在RestAssure官方Java文档中,我找到以下页面:https://www.javadoc.io/doc/io.rest-assured/rest-assured/3.2.0
在指向io.restassured.config的类SSLConfig的子链接中,有以下语句:
“现在您要在客户端中使用此信任库:”
RestAssured.config = RestAssured.newConfig().sslConfig(new SSLConfig("/truststore_javanet.jks", "test1234");
“或”
given().config(newConfig().sslConfig(new SSLConfig("/truststore_javanet.jks", "test1234"))
这是在开玩笑吗?因为如果您查看SSLConfig构造函数
SSLConfig()
它根本不接受路径和密码字符串作为参数。这也是我的IDE所说的。
任何人都可以使用他们的代码吗?
在发送http请求时,通常的日志记录功能'RestAssured log.all()'似乎也不记录任何与证书相关的信息。
即使我编写了以下代码:
RestAssured.config = newConfig().sslConfig(new SSLConfig().trustStore("src/test/resources/certs/trust.jks", "password"));
如果我为参数提供了不存在的文件路径值,则不会引发错误。
所以我被困住了。没有后续的示例代码,也没有RestAssured打印任何有用的信息供我调试与证书相关的问题。