diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ad b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ad new file mode 100644 index 00000000000..0c4be3c704e --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ad @@ -0,0 +1 @@ +passkey:H0sZcr2tOjamALBC/cF17dxq1CR+G6YS5ocevKd7b+rAAETri7mO9HcbaXEgHrErkoumM6q8Z/52LT9lNT7XfA==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElSWSCcHOtOTXqGeB3VtRneb/qk2j3rjULPlTV/YCRm6728ucc9VSx9AhXfzIhv/QRh4sMG+2bH9+J9NYaM9AKQ== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ipa b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ipa new file mode 100644 index 00000000000..278a12d63de --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ipa @@ -0,0 +1 @@ +passkey:0ehfa0Ss3GW805iF1BZyCwC9UnVZ02EHXTcIynGvRWKXXpS0YJsPFS8xFABvVD/jQqaOE7mtWTIlZ35i0gsGeQ==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENZfZpKSk06f16IeI8BzD5XDD+Y2HR+pixVyfmk9SB2rtqOEOQbfm4giFvbS/AsMOVqZU4/4JLYINPN8aPJcJNw== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ldap b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ldap new file mode 100644 index 00000000000..1ca5e893087 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.ldap @@ -0,0 +1 @@ +passkey:hM1j0KxtHXB23CvL2GiwtZGNaPYIdTzXRNJyi2vLAHJV45l0SFuY6DS++nQsSLK6CgqFR+Ngqe95IV6/cbgg0A==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQzpmCVYeTRhcdYcZGp8ARlaIq3SoQG8FLKItvqXo9KE7hLoK49z1KxwNtf48zE6+cYW4ZDUjVHrAIMpSFgctFg== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.samba b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.samba new file mode 100644 index 00000000000..bfbb3570c4a --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/passkey-mapping.samba @@ -0,0 +1 @@ +passkey:DHODzBliOrqa5sj++2+jWyfZoKZFJrEqp6TcnM6g3A+9xngPp5SLF99/nkIqr4wWdB1pBAt98RjJM7X9ZoxcHQ==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVSeiEikIYf1gcyfG8k6MgeSWvVjcDIPCnHglUMAHTUuwdhfTBid+wTBTGAl/eDgFJ+edIqZZ5g/7DQq4VJnKmg== diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ad b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ad new file mode 100644 index 00000000000..3c737812ce4 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ad @@ -0,0 +1,23 @@ +d 0 /dev/hidraw1 + +w 1 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^@^Q^A^A^A^A^A^A^A^A^K,E^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^K,E^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 ^K,E^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secr^K,E^@et^CP^]@J)^DzC^DbrkbupdplaticlientPinucredentialM^K,E^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-key^K,E^Bcalg'dtypejpublic-key^M^F^N^Z^@^E^D^C^SkFIPS-CMVP-2^BoFIPS-CMVP-2-PH^K,E^CY^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@^K,E^@^B^Agad.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^_K^Y^@^K,E^@r:6^@Buj$~^[^R^^{o^@D당w^[iq ^^+3gv-?e5>^@^K,E^A|dtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 83 ^K,E^@^@^AbidX@^_K^Yr:6^@Buj$~^[^R^^{o^@D당w^[iq ^^+^K,E^@3gv-?e5>|dtypejpublic-key^BX%fCȣ܀ɽ5~^G^A-YD^K,E^AA,K!^@^@^@^@^C^CXG0E^B!^@juQ]^_c'2^Mz^B1^W^`^[g^B d^S^Z^K,E^B56^T1fv^]Ħu?IXH^Mh^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 6 ^@^K,E^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^K,E^@Q^@^A^A^B^C8^X ^A!X ^Z^W|^`IL=#|vs^A9^\{Ž^Aȭ ^M"X k(4^Y^]^K,E^@f^S҉9Dѡ^V!^RJz]^L޶^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 4 ^@^K,E^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^Pu^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 82 ^K,E^@5^@^BX0bQ^T^S^P|^Isup#lS^O?^_E0eZ*e^Y^\^[I^^+^@^@^@^@ +w 3 ^@^K,E^@^B^Agad.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^_K^Y^@^K,E^@r:6^@Buj$~^[^R^^{o^@D당w^[iq ^^+3gv-?e5>^@^K,E^A|dtypejpublic-key^Ebup^FX ^]|"^PW^P^L̵v^FńaT^@^K,E^B^G^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 233 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 289 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^K,E^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 ^K,E^@^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 76 ^K,E^@^@^AbidX@^_K^Yr:6^@Buj$~^[^R^^{o^@D당w^[iq ^^+^K,E^@3gv-?e5>|dtypejpublic-key^BX%fCȣ܀ɽ5~^G^A-YD^K,E^AA,K!^E^@^@^@^D^CXG0E^B f0d^M P^OKOOqF^B^_^DK4^L^B!^@VT^K,E^B^GxGF_*⶞^O^S޲v^@A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ipa b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ipa new file mode 100644 index 00000000000..4381bd7ba88 --- /dev/null +++ b/src/tests/system/data/test_passkey/test_passkey__su_fips_enable/umockdev.script.ipa @@ -0,0 +1,20 @@ +d 0 /dev/hidraw1 + +w 3 ^@^@^H^A^A^A^A^A^A^A^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 ^@^Q^A^A^A^A^A^A^A^AY)0Y^B^E^D^C^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 2 ^@Y)0Y^@^A^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 Y)0Y^@^@^AfU2F_V2hFIDO_2_0lFIDO_2_1_PRE^BkcredProtectkhmac-secrY)0Y^@et^CP^]@J)^DzC^DbrkbupdplaticlientPinucredentialMY)0Y^AgmtPreview^E^Y^D^F^B^A^G^H^H^X^Icnfccusb^Jcalg&dtypejpublic-keyY)0Y^Bcalg'dtypejpublic-key^M^F^N^Z^@^E^D^C^SkFIPS-CMVP-2^BoFIPS-CMVP-2-PHY)0Y^CY^C^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 1 ^@Y)0Y^@^B^Ahipa.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^@Y)0Y^@_kDeӘ^Vr^K^@RuYa^G]7^HqEb^``^O^U/1^T^@oT?B^SY2%g~b^@Y)0Y^A^K^Fydtypejpublic-key^Ebup^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 83 Y)0Y^@^@^AbidX@_kDeӘ^Vr^K^@RuYa^G]7^HqEb^``^O^U/1^T^@oT?Y)0Y^@B^SY2%g~b^K^Fydtypejpublic-key^BX%^@|Dږ^Qx??d^Q/N4/oY)0Y^AC}.[^@^@^@^@^M^CXF0D^B /Ca%o.N^X͙&^Bܯ[^Tt^Mc]4^B aiWY)0Y^B^J~8t(^J^J;Md蓉^ES^D~^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 6 ^@Y)0Y^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 2 Y)0Y^@Q^@^A^A^B^C8^X ^A!X ^U^F*cY^EK%=_E";kj$^G^R"X p-ZWY)0Y^@E<^`:mK^PS^\ -|^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 6 ^@Y)0Y^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^PU^A`^_W^@^@^@^@^I^CXG0E^B!^@Wt΁ޯTf^[[^P؆MM^A^B +sU^BijMq^I)s^IaO1K^R^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 5 ^@U^@^F^F^A^B^B^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 3 U^@Q^@^A^A^B^C8^X ^A!X ^Z^W|^`IL=#|vs^A9^\{Ž^Aȭ ^M"X k(4^Y^]U^@f^S҉9Dѡ^V!^RJz]^L޶^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +w 7 ^@U^@x^F^A^B^B^E^C^A^B^C8^X ^A!X 3B1ˠ^S^\^Ev,^Pu^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 81 U^@5^@^BX0|# &4mSQ^Xj^LVӄhks)?AEESEi:|0Q^D^@^@^@^@ +w 1 ^@U^@^B^Ajsamba.test^BX ^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^CbidX@^@U^@^Ls^Yb:o['٠E&*ܜΠ^Ox^O^WB*^Vt^]i^D^K}^X3^@U^Af\^]dtypejpublic-key^Ebup^FX ^]|"^PW^P^L̵v^FńaT^@U^B^G^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 245 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 288 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 290 U^@^A^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ +r 124 U^@^@^AbidX@^Ls^Yb:o['٠E&*ܜΠ^Ox^O^WB*^VU^@t^]i^D^K}^X3f\^]dtypejpublic-key^BX% ^S@^_n1n;Qm\<ִ>U^A`^_W^E^@^@^@^L^CXG0E^B >uy{Y^HU^\=1O#^^^S^B!^@^EQU^Bg^JJ{^JYZW^U^Q^Ia$^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ \ No newline at end of file diff --git a/src/tests/system/tests/test_passkey.py b/src/tests/system/tests/test_passkey.py index 29a7cb50056..1a3efc4879f 100644 --- a/src/tests/system/tests/test_passkey.py +++ b/src/tests/system/tests/test_passkey.py @@ -502,3 +502,40 @@ def test_passkey__check_passkey_mapping_token_with_ssh_key_and_passkey( pam_log = client.fs.read(client.sssd.logs.pam) assert "Mapping data found is not passkey related" in pam_log, "String was not found in the logs" + + +@pytest.mark.importance("critical") +@pytest.mark.topology(KnownTopologyGroup.AnyProvider) +@pytest.mark.builtwith(client="passkey", provider="passkey") +@pytest.mark.require.with_args(passkey_requires_root) +def test_passkey__su_fips_fido_key(client: Client, provider: GenericProvider, moduledatadir: str, testdatadir: str): + """ + :title: Check su authentication of user with LDAP, IPA, AD and Samba with FIPS Fido key + :setup: + 1. Add a user in LDAP, IPA, AD and Samba with passkey_mapping. + 2. Setup SSSD client with FIDO and umockdev, start SSSD service. + :steps: + 1. Check su authentication of the user. + :expectedresults: + 1. User su authenticates successfully. + :customerscenario: False + """ + suffix = type(provider).__name__.lower() + + client.sssd.domain["local_auth_policy"] = "enable:passkey" + + # Recording files are created in FIPS enabled host with + # FIPS Fido key. + + with open(f"{testdatadir}/passkey-mapping.{suffix}") as f: + provider.user("user1").add().passkey_add(f.read().strip()) + + client.sssd.start() + + assert client.auth.su.passkey( + username="user1", + pin=123456, + device=f"{moduledatadir}/umockdev.device", + ioctl=f"{moduledatadir}/umockdev.ioctl", + script=f"{testdatadir}/umockdev.script.{suffix}", + )