<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/updated-curl-package-provides-additional-security-for-r-on-windows/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://blog.revolutionanalytics.com/2017/11/curl-updated.html"> Revolutions</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<div>
<p>There are many R packages that connect to the internet, whether it's to import data (<a rel="nofollow" href="https://mran.microsoft.com/package/readr" tabindex="0" target="_blank">readr)</a>, install packages from Github (<a rel="nofollow" href="https://mran.microsoft.com/package/devtools" target="_blank">devtools</a>), connect with cloud services (<a rel="nofollow" href="https://mran.microsoft.com/package/AzureML" target="_blank">AzureML</a>), or many other web-connected tasks. There's one R package in particular that provides the underlying connection between R and the Web: <a rel="nofollow" href="https://cran.r-project.org/package=curl" target="_blank">curl</a>, by Jeroen Ooms, who is also the <a rel="nofollow" href="https://cran.r-project.org/bin/windows/base/rdevel.html" target="_blank">new maintainer</a> for R for Windows. (The name comes from <a rel="nofollow" href="https://github.com/curl/curl" target="_blank">curl</a>, a command-line utility and interface library for connecting to web-based services). The curl package provides replacements for the standard <a rel="nofollow" href="https://www.rdocumentation.org/packages/curl/versions/3.0/topics/curl?tap_a=5644-dce66f&tap_s=10907-287229" target="_blank"><code>url</code></a> and <code><a rel="nofollow" href="https://www.rdocumentation.org/packages/curl/versions/3.0/topics/curl_download?tap_a=5644-dce66f&tap_s=10907-287229" target="_blank">download.file</a></code> functions in R with support for encryption, and the package was <a rel="nofollow" href="https://ropensci.org/technotes/2017/10/10/curl-30/" target="_blank">recently updated to enhance its security</a>, particularly on Windows.</p>
<p>To implement secure communications, the curl package needs to connect with a library that handles the SSL (secure socket layer) encryption. On Linux and Macs, curl has always used the <a rel="nofollow" href="https://www.openssl.org/" target="_blank">OpenSSL</a> library, which is included on those systems. Windows doesn't have this library (at least, outside of the <a rel="nofollow" href="https://msdn.microsoft.com/en-us/commandline/wsl/about" target="_blank">Subsystem for Linux</a>), so on Windows the curl package included the OpenSSL library and associated certificate. This raises its own set of issues (see the post linked below for details), so version 3.0 of the package instead uses the built-in <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa380123(v=vs.85).aspx" target="_blank">winSSL library</a>. This means curl uses the same security architecture as other connected applications on Windows.</p>
<p>This shouldn't have any impact on your web-connectivity from R now or in the future, except the knowledge that the underlying architecture is more secure. Nonetheless, it's possible to switch back to OpenSSL-based encryption (and this remains the default on Windows 7, which does not include the winSSL).</p>
<p>Version 3.0 of the curl package is available now on CRAN (though you'll likely never need to load it explicitly — packages that use it do that for you automatically). You can learn more about the changes at the link below. If you'd like to know more about what the cur packahe can do, this <a rel="nofollow" href="https://cran.r-project.org/web/packages/curl/vignettes/intro.html" target="_blank">vignette</a> is a great place to start. Many thanks to Jeroen Ooms for this package.</p>
<p>rOpenSci: <a rel="nofollow" href="https://ropensci.org/technotes/2017/10/10/curl-30/" target="_blank">Changes to Internet Connectivity in R on Windows</a></p>
</div>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://blog.revolutionanalytics.com/2017/11/curl-updated.html"> Revolutions</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/m4bdJLJwK00" height="1"></a></div>