Esempio n. 1
0
    def test_verify_remote_scroll(self):
        pyfs = opener.opendir(settings.config['fs_path'])

        signing_key = crypto.generate_signing_key()
        scroll_id = sha1_hexdigest
        s = scroll.RemoteScroll(pyfs, 
                               scroll_id, 
                               signing_key.verify_key.encode(crypto.HexEncoder))
        s.get_verify_key = lambda y: signing_key.verify_key
        
        items = []
        for i in range(10):
            item_hash = HASH(i)
            s.add(item_hash)
            items.append(item_hash)

        four, five = s.slice(4, 2)
        self.assertEqual(four, HASH(4))
        self.assertEqual(five, HASH(5))

        new_item_hash = HASH(i)
        new_state = HASH(s.state + new_item_hash)
        update = new_item_hash + new_state
        signed_update = signing_key.sign(update)

        self.assertEqual(s.verify_update(signed_update), update)
Esempio n. 2
0
    def test_verify_remote_scroll(self):
        pyfs = opener.opendir(settings.config['fs_path'])

        signing_key = crypto.generate_signing_key()
        scroll_id = sha1_hexdigest
        s = scroll.RemoteScroll(
            pyfs, scroll_id, signing_key.verify_key.encode(crypto.HexEncoder))
        s.get_verify_key = lambda y: signing_key.verify_key

        items = []
        for i in range(10):
            item_hash = bytes_hash_int(i)
            s.add(item_hash)
            items.append(item_hash)

        four, five = s.slice(4, 2)
        self.assertEqual(four, bytes_hash_int(4))
        self.assertEqual(five, bytes_hash_int(5))

        new_item_hash = bytes_hash_int(i)
        new_state = settings.HASH(s.state + new_item_hash)
        update = new_item_hash + new_state
        signed_update = signing_key.sign(update)

        self.assertEqual(s.verify_update(signed_update), update)
Esempio n. 3
0
 def generate(cls, pyfs):
     signing_key = crypto.generate_signing_key()
     key_fingerprint = signing_key.verify_key.encode(crypto.HexEncoder)
     pyfs.setcontents(cls.skey % key_fingerprint,
                      signing_key.encode(crypto.RawEncoder))
     pyfs.setcontents(cls.vkey % key_fingerprint,
                      signing_key.verify_key.encode(crypto.RawEncoder))
     return key_fingerprint
Esempio n. 4
0
 def generate(cls, pyfs):
     signing_key = crypto.generate_signing_key()
     key_fingerprint = signing_key.verify_key.encode(crypto.HexEncoder)
     pyfs.setcontents(cls.skey % key_fingerprint,
                      signing_key.encode(crypto.RawEncoder))
     pyfs.setcontents(cls.vkey % key_fingerprint,
                      signing_key.verify_key.encode(crypto.RawEncoder))
     return key_fingerprint