def test_remove_key(self): """Verify that removing key from LUKS device works""" succ = BlockDev.crypto_luks_format(self.loop_dev, None, 0, PASSWD, None, 0) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD3, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_remove_key(self.loop_dev, "wrong-passphrase", None) succ = BlockDev.crypto_luks_remove_key(self.loop_dev, PASSWD, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_remove_key_blob(self.loop_dev, [ord(c) for c in PASSWD2]) self.assertTrue(succ)
def test_add_key(self): """Verify that adding key to LUKS device works""" succ = BlockDev.crypto_luks_format(self.loop_dev, None, 0, PASSWD, None, 0) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_add_key(self.loop_dev, "wrong-passphrase", None, PASSWD2, None) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ)
def test_add_key(self): """Verify that adding key to LUKS device works""" succ = BlockDev.crypto_luks_format(self.loop_dev, None, 0, PASSWD, None, 0) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_add_key(self.loop_dev, "wrong-passphrase", None, PASSWD2, None) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ)
def _add_key(self, create_fn): """Verify that adding key to LUKS device works""" succ = create_fn(self.loop_dev, PASSWD, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_add_key(self.loop_dev, "wrong-passphrase", None, PASSWD2, None) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key_blob(self.loop_dev, [ord(c) for c in PASSWD2], [ord(c) for c in PASSWD3]) self.assertTrue(succ)
def _luks_kill_slot(self, create_fn): succ = create_fn(self.loop_dev, PASSWD, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot("/non/existing/device", -1) # invalid slot with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot(self.loop_dev, -1) # unused slot with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot(self.loop_dev, 2) # destroy second keyslot succ = BlockDev.crypto_luks_kill_slot(self.loop_dev, 1) self.assertTrue(succ) # opening with the second passphrase should fail with self.assertRaises(GLib.GError): BlockDev.crypto_luks_open(self.loop_dev, "libblockdevTestLUKS", PASSWD2) # opening with passphrase should still work succ = BlockDev.crypto_luks_open(self.loop_dev, "libblockdevTestLUKS", PASSWD) self.assertTrue(succ) succ = BlockDev.crypto_luks_close("libblockdevTestLUKS") self.assertTrue(succ)
def _add_key(self, create_fn): """Verify that adding key to LUKS device works""" succ = create_fn(self.loop_dev, PASSWD, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_add_key(self.loop_dev, "wrong-passphrase", None, PASSWD2, None) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key_blob(self.loop_dev, [ord(c) for c in PASSWD2], [ord(c) for c in PASSWD3]) self.assertTrue(succ)
def test_remove_key(self): """Verify that removing key from LUKS device works""" succ = BlockDev.crypto_luks_format(self.loop_dev, None, 0, PASSWD, None, 0) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD3, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_remove_key(self.loop_dev, "wrong-passphrase", None) succ = BlockDev.crypto_luks_remove_key(self.loop_dev, PASSWD, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_remove_key_blob(self.loop_dev, [ord(c) for c in PASSWD2]) self.assertTrue(succ)
def _luks_kill_slot(self, create_fn): succ = create_fn(self.loop_dev, PASSWD, None) self.assertTrue(succ) succ = BlockDev.crypto_luks_add_key(self.loop_dev, PASSWD, None, PASSWD2, None) self.assertTrue(succ) with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot("/non/existing/device", -1) # invalid slot with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot(self.loop_dev, -1) # unused slot with self.assertRaises(GLib.GError): BlockDev.crypto_luks_kill_slot(self.loop_dev, 2) # destroy second keyslot succ = BlockDev.crypto_luks_kill_slot(self.loop_dev, 1) self.assertTrue(succ) # opening with the second passphrase should fail with self.assertRaises(GLib.GError): BlockDev.crypto_luks_open(self.loop_dev, "libblockdevTestLUKS", PASSWD2) # opening with passphrase should still work succ = BlockDev.crypto_luks_open(self.loop_dev, "libblockdevTestLUKS", PASSWD) self.assertTrue(succ) succ = BlockDev.crypto_luks_close("libblockdevTestLUKS") self.assertTrue(succ)