simband
simband

Reputation: 31

https: sslv3 alert handshake failure from getURL()

I'm using R on windows. I experience no problems communicating with general secured sites. I tried (and failed) communicating with a specific SECURED site (my bank) via getURL(url). (No problem loging to this site manually). Here is the "R" code:

library(RCurl) ; options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

url <- "https://hb2.bankleumi.co.il/uniquesig4e0824291ffbe1b42058d6558ed87217/uniquesig0/InternalSite/CustomUpdate/eBank_ULI_Login.asp?resource_id=C66B095BD60649D18ECB79F04C657517&login_type=2&site_name=leumi&secure=1&URLHASH=da2ded08-57dd-488c-94ff-34629781f5fb&orig_url=https%3a%2f%2fhb2.bankleumi.co.il%2fE%2flogin.html"

getURL(url)

traceback()

The following error and traceback() chain of function calls is generated:

Error in function (type, msg, asError = TRUE)  : 
  error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

5: fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
   "GenericCurlError", "error", "condition")))

4: function (type, msg, asError = TRUE) 
   {

   if (!is.character(type)) {
       i = match(type, CURLcodeValues)
       typeName = if (is.na(i)) 
           character()
       else names(CURLcodeValues)[i]
   }
   typeName = gsub("^CURLE_", "", typeName)
   fun = (if (asError) 
       stop
   else warning)
   fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
       "GenericCurlError", "error", "condition")))
}

(35L, "error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure", TRUE)

3: .Call("R_curl_easy_perform", curl, .opts, isProtected, .encoding, 
   PACKAGE = "RCurl")

2: curlPerform(curl = curl, .opts = opts, .encoding = .encoding)

1: getURL(url)

I've tried also getURL(url, ssl.verifypeer = FALSE) and got the same error.

From the url string it looks as if the problem may be with the expected unique signatures. Is there a way to fix it via SSL/RCurl/R?

Upvotes: 1

Views: 2863

Answers (1)

Steffen Ullrich
Steffen Ullrich

Reputation: 123320

error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

This is the message one gets when trying to connect to the server with any other cipher except RC4. This server supports only RC4-SHA and RC4-MD5, which are both considered broken. I guess R has RC4 support disabled by default. You might try to enable it by setting the "ssl.cipher.list" option to "RC4-SHA".

with a specific SECURED site (my bank)

I think you need to question the security of your bank if all they offer is a cipher considered as broken. See also the report from SSLLabs where the receive a grade of B because of this and some more security problems.

Upvotes: 2

Related Questions