-
Notifications
You must be signed in to change notification settings - Fork 247
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
gdm smartcard login fails with "system error 4" in case of multiple identities #7109
Comments
This
looks weird.
At the moment I don't understand the reason for '[4]: System error to the client'... |
Flow hits this code: sssd/src/responder/pam/pamsrv_cmd.c Line 2854 in ae2420a
It requires But it looks like it's only set here: sssd/src/responder/pam/pamsrv_cmd.c Line 1284 in ae2420a
-- but there is no "Backend cannot handle Smartcard authentication" in the log. @thecommandingheights, can you please attach 'sssd.conf'? @sumit-bose, where 'cert_auth_local' should be set in this case? |
Thanks for feedback. Attached the sssd.conf. It's just a quick test setup I made to simulate the issue. |
what sssd version is this? |
Hello @alexey-tikhonov I'm currently testing it on Fedora 39 with sssd 2.9.3 where it fails. It works well on RHEL 9.3 with sssd 2.9.1. |
Hi. you've mentioned that Smartcard authentication is working as expect when using y tty for login. Can you attach the related logs as well? bye, |
(just tagging @thecommandingheights) |
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: SSSD#7109
Hi, thanks for making us aware of the issue. I was able to reproduce it and prepared a fix. The scenario was working if the deprecated/removed files provider was used but does not work with the new proxy provider based solution if A workaround might be to replace bye, |
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: #7109 Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Scott Poore <[email protected]> (cherry picked from commit 44ec3e4)
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: SSSD#7109 Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Scott Poore <[email protected]> (cherry picked from commit 44ec3e4) (cherry picked from commit 50077c3)
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: SSSD#7109 Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Scott Poore <[email protected]> (cherry picked from commit 44ec3e4) (cherry picked from commit 50077c3)
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: SSSD#7109 Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Scott Poore <[email protected]> (cherry picked from commit 44ec3e4) (cherry picked from commit 50077c3)
While introducing the local_auth_policy option a quite specific use-case was not covered correctly. If there are multiple matching certificates on the Smartcard, 'local_auth_policy = only' is set and GDM's Smartcard mode was used for login, i.e. there is no user name given and the user has to be derived from the certificate used for login, authentication failed. The main reason for the failure is that in this case the Smartcard interaction and the user mapping has to be done first to determine the user before local_auth_policy is evaluated. As a result when checking if the authentication can be finished the request was in an unexpected state because the indicator for local Smartcard authentication was not enabled. Resolves: SSSD#7109 Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Scott Poore <[email protected]> (cherry picked from commit 44ec3e4) (cherry picked from commit 50077c3)
Hi,
I seem to have some issue when logging on using a smartcard with multiple identities. Surprising, because this works just fine:
I can also logon when connected to a text tty. In such case I get prompted to select a certificate, type the PIN and the login succeeds.
In GDM however I get prompted to select one of the two certificates, I type the PIN and then nothing happens and I just get presented the two certificates again. In the logs I see:
I attach some logs. Any idea what might be happening here?
Thanks
sssd_pam.log
p11_child.log
The text was updated successfully, but these errors were encountered: