如何在 Rest-Assured java 中使用证书进行 HTTPS GET 调用

新手上路,请多包涵

如何在 java 中使用 Rest-Assured 对需要证书的端点进行 GET 调用。我有 .pem 格式的证书。 PEM 文件中有证书和私钥。

原文由 rohitkadam19 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 744
2 个回答

让它与以下代码一起工作 -

 KeyStore keyStore = null;
SSLConfig config = null;

try {
        keyStore = KeyStore.getInstance("PKCS12");
        keyStore.load(
                new FileInputStream("certs/client_cert_and_private.p12"),
                password.toCharArray());

    } catch (Exception ex) {
        System.out.println("Error while loading keystore >>>>>>>>>");
        ex.printStackTrace();
    }

    if (keyStore != null) {

        org.apache.http.conn.ssl.SSLSocketFactory clientAuthFactory = new org.apache.http.conn.ssl.SSLSocketFactory(keyStore, password);

        // set the config in rest assured
        config = new SSLConfig().with().sslSocketFactory(clientAuthFactory).and().allowAllHostnames();

RestAssured.config = RestAssured.config().sslConfig(config);
RestAssured.given().when().get("/path").then();

原文由 rohitkadam19 发布,翻译遵循 CC BY-SA 3.0 许可协议

在我的例子中,使用“宽松的 HTTPs 验证”解决了我的问题:

 given().relaxedHTTPSValidation().when().post("https://my_server.com")

原文由 Saeed Zarinfam 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题