コード例 #1
0
ファイル: encryption_tests.py プロジェクト: nom3ad/obnam
    def test_roundtrip_works(self):
        cleartext = 'hello, world'

        pubring = os.path.join(self.gpghome, 'pubring.gpg')
        keyring = obnamlib.Keyring(cat(pubring))

        encrypted = obnamlib.encrypt_with_keyring(cleartext, keyring)
        decrypted = obnamlib.decrypt_with_secret_keys(encrypted,
                                                      gpghome=self.gpghome)

        self.assertEqual(decrypted, cleartext)
コード例 #2
0
    def test_roundtrip_works(self):
        cleartext = 'hello, world'
        passphrase = 'password1'
        keyring = obnamlib.Keyring(cat('test-gpghome/pubring.gpg'))
        seckeys = obnamlib.SecretKeyring(cat('test-gpghome/secring.gpg'))

        encrypted = obnamlib.encrypt_with_keyring(cleartext, keyring)
        decrypted = obnamlib.decrypt_with_secret_keys(encrypted,
                                                      gpghome='test-gpghome')

        self.assertEqual(decrypted, cleartext)
コード例 #3
0
ファイル: encryption_tests.py プロジェクト: hsivonen/obnam
    def test_roundtrip_works(self):
        cleartext = 'hello, world'

        pubring = os.path.join(self.gpghome, 'pubring.gpg')
        keyring = obnamlib.Keyring(cat(pubring))

        encrypted = obnamlib.encrypt_with_keyring(cleartext, keyring)
        decrypted = obnamlib.decrypt_with_secret_keys(
            encrypted, gpghome=self.gpghome)

        self.assertEqual(decrypted, cleartext)
コード例 #4
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)
コード例 #5
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)
コード例 #6
0
 def rewrite_symmetric_key(self, repo, toplevel):
     symmetric_key = self.get_symmetric_key(repo, toplevel)
     userkeys = self.read_keyring(repo, toplevel)
     encrypted = obnamlib.encrypt_with_keyring(symmetric_key, userkeys)
     self._overwrite_file(repo, os.path.join(toplevel, 'key'), encrypted)
コード例 #7
0
 def rewrite_symmetric_key(self, repo, toplevel):
     symmetric_key = self.get_symmetric_key(repo, toplevel)
     userkeys = self.read_keyring(repo, toplevel)
     encrypted = obnamlib.encrypt_with_keyring(symmetric_key, userkeys)
     self._overwrite_file(repo, os.path.join(toplevel, 'key'), encrypted)