Add a test case to reset PW3.
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 4 Apr 2018 01:51:32 +0000 (10:51 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 4 Apr 2018 01:51:32 +0000 (10:51 +0900)
ChangeLog
NEWS
tests/test_004_reset_pw3.py [new file with mode: 0644]

index 1dfd927..5e719d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-04-04  NIIBE Yutaka  <gniibe@fsij.org>
+
+       * tests/test_004_reset_pw3.py: New.
+
 2018-04-03  NIIBE Yutaka  <gniibe@fsij.org>
 
        * src/openpgp-do.c (rw_kdf): Clear all auth state.
diff --git a/NEWS b/NEWS
index 9f160b3..2855250 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,11 @@ Gnuk NEWS - User visible changes
 
   Released 2018-03-31, by NIIBE Yutaka
 
+** A test suite fix: Clear PW3
+Until 1.2.8, after running the test suite under "tests", PW3 keystring
+remained, which affects use of admin-less mode.  New test case is
+added to clear PW3.
+
 ** Add "single-salt" support for KDF-DO
 With KDF-DO, "admin-less" mode didn't work well.  With new feature of
 "single-salt" support, we can use "admin-less" mode with KDF-DO.
diff --git a/tests/test_004_reset_pw3.py b/tests/test_004_reset_pw3.py
new file mode 100644 (file)
index 0000000..c0a6267
--- /dev/null
@@ -0,0 +1,41 @@
+"""
+test_004_reset_pw3.py - test resetting pw3
+
+Copyright (C) 2018  g10 Code GmbH
+Author: NIIBE Yutaka <gniibe@fsij.org>
+
+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 <http://www.gnu.org/licenses/>.
+"""
+
+FACTORY_PASSPHRASE_PW1=b"123456"
+FACTORY_PASSPHRASE_PW3=b"12345678"
+
+# Gnuk specific feature of clear PW3
+def test_setup_pw3_0(card):
+    r = card.cmd_change_reference_data(3, FACTORY_PASSPHRASE_PW3)
+    assert r
+
+def test_verify_pw3_0(card):
+    v = card.cmd_verify(3, FACTORY_PASSPHRASE_PW3)
+    assert v
+
+def test_verify_pw1_0(card):
+    v = card.cmd_verify(1, FACTORY_PASSPHRASE_PW1)
+    assert v
+
+def test_verify_pw1_0_2(card):
+    v = card.cmd_verify(2, FACTORY_PASSPHRASE_PW1)
+    assert v