Hi Oli
Thanks a lot
I changed the handler to:
Certificate:
type: ClientX509
user@: connector:auth.connector.userdbX509
role: User
arg: CN
trust_anchor:
realm: ivoc-test
Now, I can login again but the role is /User/ (and not /RA Operator/
like defined in /home/pkiadm/userdbX509.yaml)
Best Regards
Thomas
*From:*Oliver Welter <[email protected]>
*Sent:* Montag, 21. August 2023 13:06
*To:* [email protected]
*Subject:* Re: [OpenXPKI-users] X509 user database
Hi Thomas,
looks like there is a migration bug when no default role is set...
Option 1: keep the "role" parameter to set a default role
Option 2: in OpenXPKI/Server/Authentication/X509.pm, Line 145, replace
"$self->default_role();" with by "$self->role()" - that should then
assign any user without a role the empty role which is cause a login
error.
Oli
On 21.08.23 08:38, Thomas Gusset wrote:
Hi Oliver
Thanks for the hint
I changed /home/pkiadm/userdbX509.yaml to
Thomas Gusset:
username: Thomas Gusset
role: RA Operator
But still no success. I see the following log in openxpki.log:
2023/08/21 08:33:57 ERROR
I18N_OPENXPKI_SERVICE_DEFAULT_HANDLE_MESSAGE_FAILED;
__EVAL_ERROR__ => Attribute (default_role) does not pass the type
constraint because: Validation failed for 'Str' with value undef
at accessor OpenXPKI::Server::Authentication::X509::default_role
(defined at
/usr/share/perl5/OpenXPKI/Server/Authentication/X509.pm line 44)
line 11
OpenXPKI::Server::Authentication::X509::default_role('OpenXPKI::Server::Authentication::ClientX509=HASH(0x561529879fe0)')
called at /usr/share/perl5/OpenXPKI/Server/Authentication/X509.pm
line 145
OpenXPKI::Server::Authentication::X509::_validation_result('OpenXPKI::Server::Authentication::ClientX509=HASH(0x561529879fe0)',
'HASH(0x561529b95458)') called at
/usr/share/perl5/OpenXPKI/Server/Authentication/ClientX509.pm line 46
OpenXPKI::Server::Authentication::ClientX509::handleInput('OpenXPKI::Server::Authentication::ClientX509=HASH(0x561529879fe0)',
'HASH(0x561529ac7bb8)') called at
/usr/share/perl5/OpenXPKI/Server/Authentication.pm line 467
OpenXPKI::Server::Authentication::login_step('OpenXPKI::Server::Authentication=HASH(0x561525e186a0)',
'HASH(0x561529ad93d8)') called at
/usr/share/perl5/OpenXPKI/Service/Default.pm line 802
OpenXPKI::Service::Default::__handle_login('OpenXPKI::Service::Default=SCALAR(0x561525f7d5f0)',
'HASH(0x561529ad9570)') called at
/usr/share/perl5/OpenXPKI/Service/Default.pm line 495
OpenXPKI::Service::Default::__handle_GET_X509_LOGIN('OpenXPKI::Service::Default=SCALAR(0x561525f7d5f0)',
'HASH(0x561529ad9570)') called at
/usr/share/perl5/OpenXPKI/Service/Default.pm line 196
eval {...} at /usr/share/perl5/OpenXPKI/Service/Default.pm line 193
OpenXPKI::Service::Default::__handle_message('OpenXPKI::Service::Default=SCALAR(0x561525f7d5f0)',
'HASH(0x5615259e2e18)') called at
/usr/share/perl5/OpenXPKI/Service/Default.pm line 72
eval {...} at /usr/share/perl5/OpenXPKI/Service/Default.pm line 71
OpenXPKI::Service::Default::init('OpenXPKI::Service::Default=SCALAR(0x561525f7d5f0)')
called at /usr/share/perl5/OpenXPKI/Server.pm line 531
OpenXPKI::Server::do_process_request('OpenXPKI::Server=HASH(0x56152204ba48)',
'Net::Server::Proto::UNIX=GLOB(0x5615253041c0)') called at
/usr/share/perl5/OpenXPKI/Server.pm line 391
eval {...} at /usr/share/perl5/OpenXPKI/Server.pm line 390
OpenXPKI::Server::process_request('OpenXPKI::Server=HASH(0x56152204ba48)',
'Net::Server::Proto::UNIX=GLOB(0x5615253041c0)') called at
/usr/share/perl5/Net/Server.pm line 72
Net::Server::run_client_connection('OpenXPKI::Server=HASH(0x56152204ba48)')
called at /usr/share/perl5/Net/Server/Fork.pm line 196
Net::Server::Fork::run_client_connection('OpenXPKI::Server=HASH(0x56152204ba48)')
called at /usr/share/perl5/Net/Server/Fork.pm line 140
Net::Server::Fork::loop('OpenXPKI::Server=HASH(0x56152204ba48)')
called at /usr/share/perl5/Net/Server.pm line 58
Net::Server::run('OpenXPKI::Server=HASH(0x56152204ba48)',
'server_type', 'Fork', 'port',
'/var/openxpki/openxpki.socket|unix', 'alias', 'main',
'background', 1, 'socketfile', '/var/openxpki/openxpki.socket',
'process_owner', 106, 'pid_file', '/run/openxpkid.pid',
'socket_owner', 33, 'process_group', 112, 'proto', 'unix',
'no_client_stdout', 1) called at
/usr/share/perl5/Net/Server/MultiType.pm line 78
Net::Server::MultiType::run('OpenXPKI::Server=HASH(0x56152204ba48)',
'server_type', 'Fork', 'port',
'/var/openxpki/openxpki.socket|unix', 'alias', 'main',
'background', 1, 'socketfile', '/var/openxpki/openxpki.socket',
'process_owner', 106, 'pid_file', '/run/openxpkid.pid',
'socket_owner', 33, 'process_group', 112, 'proto', 'unix',
'no_client_stdout', 1) called at
/usr/share/perl5/OpenXPKI/Server.pm line 123
OpenXPKI::Server::start('OpenXPKI::Server=HASH(0x56152204ba48)')
called at /usr/share/perl5/OpenXPKI/Control.pm line 273
eval {...} at /usr/share/perl5/OpenXPKI/Control.pm line 268
OpenXPKI::Control::start('HASH(0x56151fff74b8)') called at
/usr/bin/openxpkictl line 137
, __MESSAGE_NAME__ => GET_X509_LOGIN [pid=37137|sid=/ZBC]
Best Regards
Thomas
*From:*Oliver Welter <[email protected]> <mailto:[email protected]>
*Sent:* Samstag, 19. August 2023 13:24
*To:* [email protected]
*Subject:* Re: [OpenXPKI-users] X509 user database
Hi Thomas,
I had a quick look at the code and it looks like the docs are
incomplete :)
The user database must return a value for the "username" attribute
so can you please try to add the key "username" into the yaml file
and try again.
best regards
Oliver
On 18.08.23 15:09, Thomas Gusset wrote:
Hi
I try to setup GUI authentication with client certificates.
It works fine with this handler:
Certificate:
type: ClientX509
role: User
trust_anchor:
realm: <my-realm>
I can authenticate, the username is the CN, the role is User
Now I would like to have a user database to dynamic assign
roles to users.
Therefore I changed handler to
Certificate:
type: ClientX509
user@: connector:auth.connector.userdbX509
arg: CN
trust_anchor:
realm: <my-realm>
and added a connector
userdbX509:
class: Connector::Proxy::YAML
LOCATION: /home/pkiadm/userdbX509.yaml
The user database looks like
John Doe:
role: RA Operator
where ‘John Doe’ is the CN of the certificate
With this configuration I can no longer authenticate: Unknown
error (service default handle message failed)
What’s wrong with my configuration?
Thanks in advance
Thomas
*NetSec.co AG*
Thomas Gusset
CEO & CTO
Im alten Riet 125, 9494 Schaan, Liechtenstein
https://netsec.co <https://netsec.co>
+423 388 2777 / +423 388 2770 (direkt)
[email protected] <mailto:[email protected]>
https://threema.id/NK3MJMNP <https://threema.id/NK3MJMNP>
Chat on MS Teams
<https://teams.microsoft.com/l/chat/0/[email protected]>
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users
--
Protect your environment - close windows and adopt a penguin!
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users
--
Protect your environment - close windows and adopt a penguin!
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users