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)
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)
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)
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 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)