空手道 SSL 和 HashiCorp Vault 秘密引擎

Karate SSL and HashiCorp Vault Secret Engine

目前,我正在努力实现 API 通过 SSL 与 Karate DSL 的自动化,主要问题是我无法在不保留 [=32] 的情况下自动化此 API =] 在具有以下配置的某个目录中:

// 使用 PKCS12 文件 'certstore.pfx' 和密码 'certpassword'

启用 X509 证书身份验证

是否有任何其他方法来加载证书库?而不是使用 certstore.pfx 形式的本地 directory/cloud/sftp 目录?

我正在考虑创建一个 KeyStore java 对象(带有链证书和私钥)并将其传递给配置而不是(pfx 文件){ keyStore: keyStoreObj, keyStorePassword: 'xxx' .. },或其他一些内存对象,它将提供通过 SSL 连接所需的所有 certs/keys。

感谢您的建议!

使用 Java 互操作:https://github.com/intuit/karate#calling-java

例如:您可以实现一些自定义方法来获取您需要的证书并将其保存到 /tmp,然后使用 file:/tmp/mycert.pfx 加载证书。

您可以根据需要以任何方式实施。如果您想做一些更高级的事情,请考虑扩展 ApacheHttpClient - and tips on how to do this are provided here.

谢谢 Peter,所以我决定采用这种高级方式,因此决定扩展 HttpClient,我在其中重写配置(HttpConfig 配置,ScriptContext 上下文)并决定将 KeyStore 对象传递给那里,该对象之前使用证书构建,这是我从 HasiCorp Vault 得到的。

顺便说一句,空手道 DSL 很棒!