From 3dfc9d0fe3b8252dc838563d0deeccd3610e0941 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 29 Jun 2022 16:52:10 +0900 Subject: [PATCH] configure: When no kdf_do variable, default is "required". Signed-off-by: NIIBE Yutaka --- src/configure | 3 +- .../test_074_adminless_kdfsingle.py | 2 +- .../test_075_adminless_kdfsingle.py | 2 +- .../test_076_adminless_kdfsingle.py | 2 +- .../test_077_adminless_kdfsingle.py | 2 + tests/card_test_personalize_admin_less_3.py | 48 +++++++++++++++++++ 6 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 tests/030_kdfsingle/test_077_adminless_kdfsingle.py create mode 100644 tests/card_test_personalize_admin_less_3.py diff --git a/src/configure b/src/configure index 259c8fd..8a4d952 100755 --- a/src/configure +++ b/src/configure @@ -45,7 +45,7 @@ certdo=no factory_reset=no ackbtn_support=yes flash_override="" -kdf_do=${kdf_do:-optional} +kdf_do=${kdf_do:-required} # For emulation prefix=/usr/local exec_prefix='${prefix}' @@ -208,7 +208,6 @@ if test "$target" = "GNU_LINUX"; then emulation="yes" cross="" mcu="none" - kdf_do=${kdf_do:-required} def_emulation="-DGNU_LINUX_EMULATION" def_memory_size="-DMEMORY_SIZE=1024" enable_hexoutput="" diff --git a/tests/030_kdfsingle/test_074_adminless_kdfsingle.py b/tests/030_kdfsingle/test_074_adminless_kdfsingle.py index 0cd0538..f15e1eb 100644 --- a/tests/030_kdfsingle/test_074_adminless_kdfsingle.py +++ b/tests/030_kdfsingle/test_074_adminless_kdfsingle.py @@ -1,2 +1,2 @@ from skip_gnuk_only_tests import * -from card_test_personalize_reset import * +from card_test_remove_keys import * diff --git a/tests/030_kdfsingle/test_075_adminless_kdfsingle.py b/tests/030_kdfsingle/test_075_adminless_kdfsingle.py index f15e1eb..599eb88 100644 --- a/tests/030_kdfsingle/test_075_adminless_kdfsingle.py +++ b/tests/030_kdfsingle/test_075_adminless_kdfsingle.py @@ -1,2 +1,2 @@ from skip_gnuk_only_tests import * -from card_test_remove_keys import * +from card_test_personalize_admin_less_3 import * diff --git a/tests/030_kdfsingle/test_076_adminless_kdfsingle.py b/tests/030_kdfsingle/test_076_adminless_kdfsingle.py index 86fcfb7..0cd0538 100644 --- a/tests/030_kdfsingle/test_076_adminless_kdfsingle.py +++ b/tests/030_kdfsingle/test_076_adminless_kdfsingle.py @@ -1,2 +1,2 @@ from skip_gnuk_only_tests import * -from card_test_reset_pw3 import * +from card_test_personalize_reset import * diff --git a/tests/030_kdfsingle/test_077_adminless_kdfsingle.py b/tests/030_kdfsingle/test_077_adminless_kdfsingle.py new file mode 100644 index 0000000..86fcfb7 --- /dev/null +++ b/tests/030_kdfsingle/test_077_adminless_kdfsingle.py @@ -0,0 +1,2 @@ +from skip_gnuk_only_tests import * +from card_test_reset_pw3 import * diff --git a/tests/card_test_personalize_admin_less_3.py b/tests/card_test_personalize_admin_less_3.py new file mode 100644 index 0000000..7ad5bd4 --- /dev/null +++ b/tests/card_test_personalize_admin_less_3.py @@ -0,0 +1,48 @@ +""" +card_test_personalize_admin_less_3.py - test admin-less mode + +Copyright (C) 2022 g10 Code GmbH +Author: NIIBE Yutaka + +This file is a part of Gnuk, a GnuPG USB Token implementation. + +Gnuk is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Gnuk is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +from struct import pack +from re import match, DOTALL +from util import * +from card_const import * +from constants_for_test import * + +class Test_Card_Personalize_Adminless_SECOND(object): + # Being removed keys, it's now in admin-full mode (both of Gnuk 1 and 2) + + def test_setup_pw3_1(self, card): + if card.is_gnuk2: + r = card.change_passwd(3, FACTORY_PASSPHRASE_PW3, PW3_TEST0) + assert r + else: + pytest.skip("Gnuk 1 now in admin-full mode, with PW3_TEST0") + + def test_verify_pw3_1(self, card): + if card.is_gnuk2: + r = card.verify(3, PW3_TEST0) + assert r + else: + pytest.skip("Gnuk 1, it's authenticated already") + + def test_reset_userpass_admin(self, card): + r = card.reset_passwd_by_admin(PW1_TEST4) + assert r