如何使用 httr 为基于证书的身份验证指定证书、密钥和根证书?

How to specify certificate, key and root certificate with httr for certificate based authentication?

我正在尝试使用 httr 库从需要基于证书的身份验证的服务器访问数据。我有证书 (cert.pem)、密钥文件 (key.pem) 和根证书 (caroot.pem)

以下卷曲有效。

curl -H "userName:sriharsha@rpc.com" --cert cert.pem --key certkey.key --cacert caroot.pem https://api.somedomain.com/api/v1/timeseries/klog?limit=1

如何指定 certkey.key 和 caroot.pem 到 httr GET 请求。我正在尝试使用以下 R 命令,但找不到指定证书密钥和 caroot 的选项。

cafile=???? r<-GET("https://api.somedomain.com/api/v1/timeseries/klog", query = list(limit = 1), add_headers("userName"= "sriharsha@rpc.com"), config(cainfo = cafile, ssl_verifypeer=FALSE), verbose())

因此,我正在为 curl 的(--cert、--key 和 --cacert)寻找 httr 的等效选项。

基于 curl docs

的选项
  1. ssl 证书是 sslcert
  2. ssl 密钥是 sslkey
  3. ssl ca 是 cainfo

按照以下命令工作

cafile="ca.pem"

certfile="cert.pem"

keyfile="certkey.key"

r<-GET("https://api.somedomain.com/api/v1/timeseries/klog", query = list(limit = 1), add_headers("userName"= "sriharsha@rpc.com"), config(cainfo = cafile, sslcert = certfile, sslkey = keyfile))