-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSLV3_ALERT_HANDSHAKE_FAILURE using ofxget for Vanguard #139
Comments
I believe this isn't an I'm not much of a web programmer, and even less of a Windows expert... but it sounds like your machine and Vanguard can't negotiate mutually acceptable parameters to set up a secure connection. Perhaps Vanguard has raised their minimum acceptable cipher algorithm to something higher than what your machine's implementation of SSL supports? You can check this out: https://www.ssllabs.com/ssltest/analyze.html?d=vesnc.vanguard.com&s=192.175.161.62&latest Looks like Vanguard's server is on TLS version 1.2, using 2048-bit RSA for the key exchange, and a few versions of RSA/AES for the block cipher algorithm. Can your system match those requirements? I don't know quite what to tell you about this; I'd think SSL would be bundled into Windows and updated along with the OS. Is your OS up to date? I can't imagine Vanguard wouldn't support Windows 10 OS defaults for SSL. Is there something funky about Python 3.10 usage of SSL? That's, like, brand-spanking-new, and I'm kind of afraid to use it yet. I can tell you that I can currently log into Vanguard using ofxtools master on Python 3.9, using OpenSSL v1.1.1l (on Linux). The only thing I can think to tell you is to upgrade/downgrade SSL, or downgrade back to Python 3.9 and try that. You might be able to get more help from somebody who knows more about it, because your problem isn't likely with code that I wrote & maintain. But let me know how it goes, because I am interested. |
Are you using |
Thanks for the tips! Success! I'm going to record the state of my system and the changes I made based on your suggestions in case someone else encounters this issue. I am on the latest Windows 10. I installed OpenSSL (for Windows) since it was mentioned here in the Python SSL docs. It seems like Python 3.10 is the culprit; after getting it working with 3.9, I tried 3.10 again to see if it was OpenSSL that fixed things, but no dice. |
Although, a hack. I found this commit to fix this on the latest python. |
@csingley : I got bitten by this issue connecting to Vanguard using python 3.10. I believe it is because Vanguard is using outdated SSL and python 3.10 tightened SSL requirements. Do you plan to include the fixes in #139 (comment) in the main ofxtools repo? That approach would get my vote since I think this is going to be a blocker for all versions of python from 3.10 on (unless Vanguard fixes the issue on their end). Of course, I can understand if you don't want to muck up your code because of Vanguard's stupidity. Another work around I found is to pin an older version of Thanks again for
|
This is needed to support newer python/openssl that are stricter while Vanguard is still using old ciphers. Copied from aclindsa/ofxtools@8d0fccb See: csingley#139
When I use
ofxget
, the script errors out with an SSL handshake failure.Is this an issue with Vanguard, my setup, or something else?
Command I ran:
ofxget stmt vanguard -u <username> --all
Note:
vanguard
is coming fromfi.cfg
; I did not set up a configuration file.Python Version: 3.10
OFX Tools Version: 0.9.4
OS: Windows 10
Stack Trace:
The text was updated successfully, but these errors were encountered: