-
Notifications
You must be signed in to change notification settings - Fork 51
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
Needs to handle SEC_I_INCOMPLETE_CREDENTIALS from InitializeSecurityContext #32
Comments
Since we pass The documentation is wrong on this one. It says:
After experimenting, I discovered the following for the case that no client cert was explicitly specified and the server sends a CertificateRequest:
|
I think I will need this feature for implementing sfackler/rust-native-tls#232. My thought for that is to provide the ability to specify a client certificate beforehand, as well as a callback for if you don't do that. The callback should take a list of valid CAs (retrieved through |
schannel-rs/src/tls_stream.rs
Line 394 in d475251
The server might request credentials (i.e. a client-side certificate for authentication), but does not necessarily actually require it (SEC_E_INCOMPLETE_CREDENTIALS at a later time, note the I vs. E). When getting SEC_I_INCOMPLETE_CREDENTIALS, InitializeSecurityContext() just has to be called again like the first time (without any input) and will produce new output then.
Alternatively one can create a new credentials handle with any client certificates before doing the above.
The text was updated successfully, but these errors were encountered: