fix(ffi): accept regular credentials for smart card logon #494
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
Previously, only FQDN usernames (username@domain) were suitable for smart card logon. I added support for regular credentials (when username and domain are separate parameters) in smart card credentials handling.
Why?
In short, because of FreeRDP. More comprehensive explanation:
Unfortunately, FreeRDP does not split FQDN username into username and domain parts before sending credentials in the last CredSSP TsRequest message. Example of bad credentials:
(link to bad credentials)
The target machine is unable to verify such credentials and shows an error.
Correct credentials should look like this:
(link to good credentials)
So, instead of using FQDN in FreeRDP CLI command (
./sdl-freerdp /u:t2@tbt.com ...), I started using username + domain (./sdl-freerdp /u:t2 /d:tbt.com ...).I am not sure how convenient it is. Maybe we should patch FreeRDP in the future and improve FQDN handling. But for now, it works with this fix and I think it is good 😃