-
Notifications
You must be signed in to change notification settings - Fork 28
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
add optional SSL
support
#46
base: master
Are you sure you want to change the base?
Conversation
Needs documentation (docstring update). |
Many things missing, e.g.
|
You could do the protocols one by one if you prefer, and then we merge those PRs to a separate branch first. |
98e30d6
to
2bdae90
Compare
This doesn't authenticate the client, does it? |
I think you can add a client certificate (with different SSL API calls), or just a password. |
12ac4f4
to
2a7f45f
Compare
2a7f45f
to
4e1e835
Compare
4e1e835
to
ea5c140
Compare
be0b423
to
717b7ca
Compare
df2093b
to
58e7e1d
Compare
context.load_verify_locations(peerfile) | ||
else: | ||
context = ssl.create_default_context(cafile=peerfile) | ||
context.check_hostname = False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still actually checking the server certificate? Did you test and how?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
upon testing again.. it is not. A fix is having the client context as PROTOCOL_TLS_CLIENT
and have load_verify_locations
. Will add this to the commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add some tests as well with failing cert validations.
Signed-off-by: Florian Agbuya <fa@m-labs.ph>
58e7e1d
to
c0aed03
Compare
Description
Add optional SSL/TLS support with mutual authentication. SSL is enabled when certificate files are provided.
AsyncioServer
requiring both server and client certificatesClient
,AsyncioClient
, andBestEffortClient
classes to support mutual SSL authenticationsimple_server_loop
to handle certificate verificationsipyco_rpctool
(--cert, --key, --cafile)Related issue:
m-labs/artiq#2577