コード例 #1
0
    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)
コード例 #2
0
ファイル: encryption_plugin.py プロジェクト: hsivonen/obnam
    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)
コード例 #3
0
 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
コード例 #4
0
 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
コード例 #5
0
 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
コード例 #6
0
 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