问题
I am trying to access data using httr library from server which expects certificate based authentication. I have certificate (cert.pem), key file (key.pem) and root certificate (caroot.pem)
Following curl works.
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
How can specify certkey.key and caroot.pem to httr GET request. I am trying with following R command but couldn't find option to specify cert key and 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())
Thus I am looking for equivalent options of httr for (--cert, --key and --cacert) of curl.
回答1:
Based on curl docs, option for
- ssl certificate is sslcert
- ssl key is sslkey
- ssl ca is cainfo
As per that following command worked
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))
来源:https://stackoverflow.com/questions/37273819/how-to-specify-certificate-key-and-root-certificate-with-httr-for-certificate-b