从美联储获取ACH路由表列表时出现卷曲错误

时间:2018-06-27 21:16:16

标签: ssl curl tls1.2

最近,我们已从美联储实施每日一次的路由编号更新,以支持我们的eCheck处理。它已经正常工作了几个星期。我们使用curl获得下载。

请注意:美联储将在2018年12月之后不再支持当前的下载功能。它仍将以类似的方式提供,但需要获得授权。目前,不需要此类授权,任何人都可以下载该表。可以从https://www.frbservices.org/EPaymentsDirectory/download.html的页面直接在浏览器中下载它(首先单击Ageement页面之后)。这些都不是这张票的原因,而是作为背景信息来帮助读者避免走错路。

无论如何,这已经正常工作了一段时间了。但是,现在三个curl调用中的每一个都收到一条错误消息,如下所示:

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

我读到有人说您可能会给curl提供一些额外的参数,以指定要使用的SSL / TLS版本。因此,我尝试添加curl参数--tlsv1.2,-tlsv1和--sslv3。仍然出现相同的错误。以前,不需要这样的参数即可成功下载。

从curl获取详细的输出是有帮助的,但是并不能提供解决方案。

作为参考,用于下载文件的脚本如下:

#!/usr/local/bin/bash
# ref: inspired by https://stackoverflow.com/questions/28865528/basic-curl-form-interaction
#check output file name
if [ -z $1 ]; then
  achout=/tmp/FedACHdir.txt
  #>&2 echo "Save data to /tmp/FedACHdir.txt"
else
  achout=$1
fi

#echo $achout

if [ -z $2 ]; then
 #>&2 echo "Full data set"
 :
else
  str='?updatedSince='
  query=$str$2
fi

#echo $query

# Set session cookies
rm /tmp/fedc.txt 2>/dev/null
curl  -s -c /tmp/fedc.txt  \
 https://frbservices.org/EPaymentsDirectory/FedACHdir.txt  -o /dev/null

# Submit agreement
curl  -s -b /tmp/fedc.txt -c /tmp/fedc.txt -d "agreementValue=Agree" \
 -H "Referer:https://frbservices.org/EPaymentsDirectory/agreement.html" \
 https://frbservices.org/EPaymentsDirectory/submitAgreement -o /dev/null

echo -e "#HttpOnly_frbservices.org\tFALSE\t/EPaymentsDirectory/\tFALSE\t0\tabaDataCaptureCookie\tabaDataCaptureCookie" >>/tmp/fedc.txt
#cat /tmp/fedc.txt

#read FedACH catalog
curl -s -S  -b /tmp/fedc.txt \
 https://frbservices.org/EPaymentsDirectory/FedACHdir.txt$query -o $achout

# Cleanup cookies
rm /tmp/fedc.txt 2>/dev/null

此卷曲错误的解决方法是什么?

0 个答案:

没有答案