Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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:[email protected]" --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"= "[email protected]"), config(cainfo = cafile, ssl_verifypeer=FALSE), verbose())

Thus I am looking for equivalent options of httr for (--cert, --key and --cacert) of curl.

like image 560
harsha Avatar asked Mar 12 '23 07:03

harsha


1 Answers

Based on curl docs, option for

  1. ssl certificate is sslcert
  2. ssl key is sslkey
  3. 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"= "[email protected]"), config(cainfo = cafile, sslcert = certfile, sslkey = keyfile))

like image 199
harsha Avatar answered Apr 30 '23 21:04

harsha