-
Notifications
You must be signed in to change notification settings - Fork 120
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
security: Verify SSL certificates #69
Conversation
Note: Master is failing to build at the moment (due to Ruby 2.3 on Travis). |
👍 This is a Good Thing, but extremely likely to break existing setups. I think it would make sense to make this opt-in, with a warning that it will become the default in the future. |
Also adding a deprecation warning for when the SSL context has not been provided.
Made the SSL context configurable (and defaulting to none). |
can we please have this merged? i just discovered, to my surprise, that the tcp connector doesn't even do anything with the certificate i give it. it just opens a dumb ssl socket. |
Sorry, there has been a lot going on and I've been out of action for a while. But I'm reviewing the open pull requests and issues and plan to address them soon. |
@glaszig You're right, the |
Hi, Any updates on this open issue? Do you stil plan on merging it? |
Getting SSL working correctly is of course very important. However, I think there is more work involved to get it working than is contained in this PR. I haven't been able to find the time to investigate this further, and I don't use SSL over TCP myself. |
i took the liberty to extend upon @Catharz's work and
unless i missed something this should complete this pr. @Catharz i can push these commits to your branch if you'll give me access. |
Thanks @glaszig. I'll do some due diligence to make sure there aren't any other steps we're missing. I know there are a few gotchas when using SSL in Ruby. |
oh btw, if you'd just provide an |
interesting and related: ruby/openssl#8 |
i have one thing left to do. will pr later. |
@dwbutler done. refactored the tcp device a little bit and improved hostname verification documentation. |
Fix released in 0.23.0. Sorry again for the long lead time on this. |
Verifying SSL host against the certificate provided.
Certificate host expiry, etc is checked only as a manual step after connection. It is not an automatic action in OpenSSL. This enables that check.
This means that:
Without these checks, all SSL connections are vulnerable to man in the middle attacks.