-
Notifications
You must be signed in to change notification settings - Fork 160
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
Completed Handshake process without any certificate sent by the client #529
Comments
Hey @miguel91it Can you share the diff on the client side you used to reproduce the issue? I will write a unit test when I able to reproduce/understand. |
|
I'm using piondtls v2.0.9 at the client-side, and v2.1.3 at the server-side |
I sent an invalid diff at the first time, but i already updated it and it's the correct diff now. |
@Sean-Der, did you managed to reproduce it or there is something i can do from my side? It's my first time trying to make contact with maintainers of public repo. I really don't know what i need to do now. |
Your environment.
What did you do?
We have a setup for our Dtls Server run with client's psk and certificate validation. It'll depend on if client's handshake will send either psk or certificate information.
It was working almost properly until an user managed to complete the full handshake process without providing either psk nor certificate, but signalizing it'd send its client certificates to the server.
First the server choose the cipher (Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)) in the Server Hello handshake protocol. Then, the client sent the Certificate handshake protocol but without any certificate. It also didn't sent psk, but the handshake was completed.
To reproduce the same situation that my customer faced, i used the pion dtls as a client, but i needed to comment on several parts of the code because pion dtls lib is very good on validations (for this case in the client-side perspective). It was blocking me to send a Certificate handshake protocol without any certificate. For that reason i commented many parts to manage and reproduce the customer error.
My customer, in other hand, managed to finish all the handshake process using python and some library to perform dtls handshake with python.
What did you expect?
We expect that the server-side of the handshake finishes instead of accepting a zero-length array of certificates. Some kind of error to the client side.
What happened?
All the handshake process was completed and we managed to receive the authenticated connection in our application.
The text was updated successfully, but these errors were encountered: