-
Notifications
You must be signed in to change notification settings - Fork 377
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 SSL Client Authentication #246
base: master
Are you sure you want to change the base?
Conversation
Thanks for this PR. I will review shortly when time permits and have it mainlined. |
Any update on the windows compatible version? |
I don't have a windows development machine, so no. |
Hello! Currently I'm trying to use client authentication on server side. I've merged this PR with with base on my local brunch. I got some strange server behavior. For the first GET request certificates were checked properly, but for the second and next requests from same client ssl handshake failed.
SSLSettings were initialized like this:
I tried to apply the solution from here: https://stackoverflow.com/q/38658473 |
Hi, I'm currently in holidays, thus the slow response. I have originally tested the patch on linux with restbed client and server, and I did not get this error. If you can post the source of a minimal server where the error occours, I can have a look at it. One more question: Did you test if this error also happens without enabled ssl client cert authentication, and without this patch? As far as I am aware (not very far ;-)), the ssl session ticket functionality is independent of client authentication. |
Here is the minimal server code i used to test client authentication: https://gist.github.com/peanutwolf/22bf5096723892d0af175d583b33952b I also converted client's PEM certificate file and private key to PKCS#12 format to use with my client: And installed client.p12 to Firefox Quantum 57.0.4 (64-bit). As I said first request passes successfully, but after i refresh page it gives a error. Could you please check this issue on Unix platform? I'm not shure if it can be reproduced with openssl s_client, so its better to use a browser. |
Hi, Can you please check if this problem also happens without client authentication patches? Then we can decide if I (patch author) or the people of Corvusoft have to look at the problem. Thanks |
I've checked for this problem on Corvusoft:master and it doesn't occur. However sever doesn't verify peer without client_authentication setting. |
In this Pull Request, SSL Client authentication is added to the library. Beside, the possibility to explicitly select cipher suites is also added. To allow client authentication to work with BoringSSL (OpenSSL Fork), renegotiation_mode has to be set.
Since asio does not abstract all necessary methods, a dependency to openssl/ssl.h has been introduced.
Note: To test with boringssl, please also apply the change at chriskohlhoff/asio#238 to asio (not yet merged upstream)
About licensing: You can use this changes also with your commercial license.