首页 > 解决方案 > Gradle 任务 - Https 请求 - 附加客户端证书

问题描述

我正在尝试实现一个向我的后端发送 HTTPS 请求的 gradle 任务。对于身份验证,我必须将客户端证书附加到请求中。

有人知道怎么做这个吗?我目前正在使用该库http-builder-ng,但还没有想出实现这一点。

标签: sslgradleclient-certificatesgradle-task

解决方案


好吧,我不知道您的图书馆,但您可以选择 sh 吗?Gradle 具有一个Exec 任务,可以将 shell 作为任务执行。

你可以在那里卷曲:

curl -v \
  --cacert ./ca.pem \
  --key ./admin-key.pem \
  --cert ./admin.pem \
  https://xxxx/api/v1/

在 build.gradle 中它可能看起来像这样:(url 是一个 gradle 项目属性,可以在构建期间通过 -P 标志或在 gradle.properties 中给出。)

task httpsRequest(type:Exec) {
commandLine 'sh', '-c', "curl -v --cacert ./ca.pem --key ./admin-key.pem --cert ./admin.pem '${url}'"
}

推荐阅读