def toplevel_init(self, repo, toplevel): '''Initialize a new toplevel for encryption.''' if not self.keyid: return pubkeys = obnamlib.Keyring() pubkeys.add(self.pubkey) symmetric_key = obnamlib.generate_symmetric_key( self.symmetric_key_bits, filename=self.devrandom) encrypted = obnamlib.encrypt_with_keyring(symmetric_key, pubkeys) self._write_file(repo, os.path.join(toplevel, 'key'), encrypted) encoded = str(pubkeys) encrypted = obnamlib.encrypt_symmetric(encoded, symmetric_key) self._write_file(repo, os.path.join(toplevel, 'userkeys'), encrypted)
def toplevel_init(self, repo, toplevel): '''Initialize a new toplevel for encryption.''' if not self.keyid: return pubkeys = obnamlib.Keyring() pubkeys.add(self.pubkey) symmetric_key = obnamlib.generate_symmetric_key( self.symmetric_key_bits, filename=self.devrandom) encrypted = obnamlib.encrypt_with_keyring(symmetric_key, pubkeys) self._write_file(repo, os.path.join(toplevel, 'key'), encrypted) encoded = str(pubkeys) encrypted = obnamlib.encrypt_symmetric(encoded, symmetric_key) self._write_file(repo, os.path.join(toplevel, 'userkeys'), encrypted)
def test_generates_key_with_size_rounded_up(self): numbits = 15 key = obnamlib.generate_symmetric_key(numbits, filename='/dev/zero') self.assertEqual(len(key)/2, 2) # /2 for hex encoding
def test_generates_key_of_correct_length(self): numbits = 16 key = obnamlib.generate_symmetric_key(numbits, filename='/dev/zero') self.assertEqual(len(key) * 8 / 2, numbits) # /2 for hex encoding
def test_generates_key_with_size_rounded_up(self): numbits = 15 key = obnamlib.generate_symmetric_key(numbits, filename='/dev/zero') self.assertEqual(len(key) / 2, 2) # /2 for hex encoding
def test_generates_key_of_correct_length(self): numbits = 16 key = obnamlib.generate_symmetric_key(numbits, filename='/dev/zero') self.assertEqual(len(key) * 8 / 2, numbits) # /2 for hex encoding