def get_secret_keys(): """ Get dictionary of {key_id:key} for all secret keys in the tests/data/keys folder Memoized in the cached dictionary """ if 'keys' not in cached: keys = {} key_folder = os.path.join(this_folder, '..', 'data', 'keys') for key_name in os.listdir(key_folder): location = os.path.join(key_folder, key_name) if os.path.isfile(location) and key_name.endswith("gpg") and 'secret' in key_name: with open(location, 'r') as k: key = Key(passphrase="blahandstuff").parse(k.read()) keys.update(key.key_dict()) cached['keys'] = keys return cached['keys']
def get_decryptor_and_message(key_location, message_location, passphrase): this_dir = os.path.dirname(__file__) master_dir = os.path.join(this_dir, '../../') sys.path = [master_dir] + sys.path from gpglib.structures import EncryptedMessage, Key # Parse the secret key secret_key_location = os.path.join(master_dir, key_location) key = Key(passphrase=passphrase).parse(open(secret_key_location).read()) keys = key.key_dict() # Get message we're gonna continously decrypt message_location = os.path.join(master_dir, message_location) message = open(message_location).read() return EncryptedMessage(keys=keys), message
def get_decryptor_and_message(key_location, message_location, passphrase): this_dir = os.path.dirname(__file__) master_dir = os.path.join(this_dir, '../../') sys.path = [master_dir] + sys.path from gpglib.structures import EncryptedMessage, Key # Parse the secret key secret_key_location = os.path.join(master_dir, key_location) key = Key(passphrase=passphrase).parse( open(secret_key_location, 'rb').read()) keys = key.key_dict() # Get message we're gonna continously decrypt message_location = os.path.join(master_dir, message_location) message = open(message_location, 'rb').read() return EncryptedMessage(keys=keys), message
def get_secret_keys(): """ Get dictionary of {key_id:key} for all secret keys in the tests/data/keys folder Memoized in the cached dictionary """ if 'keys' not in cached: keys = {} key_folder = os.path.join(this_folder, '..', 'data', 'keys') for key_name in os.listdir(key_folder): location = os.path.join(key_folder, key_name) if os.path.isfile(location) and key_name.endswith( "gpg") and 'secret' in key_name: with open(location, 'rb') as k: key = Key(passphrase="password25").parse(k.read()) keys.update(key.key_dict()) cached['keys'] = keys return cached['keys']
# coding: spec from gpglib.structures import Key from helpers import data import unittest import nose describe "Consuming rsa keys": it "successfully consumes a secret key": secret_key = Key(passphrase='blahandstuff').parse(data.get_pgp_key('secret', 'rsa')) # Parent key self.assertIn(4259707814030784140, secret_key.key_dict()) # Sub-key self.assertIn(5524596192824459786, secret_key.key_dict()) it "successfully consumes a public key": public_key = Key().parse(data.get_pgp_key('public', 'rsa')) # Parent key self.assertIn(3166937994423974160, public_key.key_dict()) # Sub-key self.assertIn(11980534847294644458L, public_key.key_dict()) it "successfully calls a function to retrieve the passphrase": def passphrase_func(message, info): return 'blahandstuff' secret_key = Key(passphrase=passphrase_func).parse(data.get_pgp_key('secret', 'rsa')) # Parent key self.assertIn(4259707814030784140, secret_key.key_dict()) # Sub-key
# coding: spec from tests.helpers import data from gpglib.structures import Key from unittest import TestCase import nose describe TestCase, "Consuming rsa keys": it "successfully consumes a secret key": secret_key = Key(passphrase='password25').parse(data.get_pgp_key('secret', 'rsa')) # Parent key self.assertIn(5922803129648873547, secret_key.key_dict()) # Sub-key self.assertIn(6126705363215480599, secret_key.key_dict()) it "successfully consumes a public key": public_key = Key().parse(data.get_pgp_key('public', 'rsa')) # Parent key self.assertIn(5922803129648873547, public_key.key_dict()) # Sub-key self.assertIn(6126705363215480599, public_key.key_dict()) it "successfully calls a function to retrieve the passphrase": def passphrase_func(message, info): return 'password25' secret_key = Key(passphrase=passphrase_func).parse(data.get_pgp_key('secret', 'rsa')) # Parent key self.assertIn(5922803129648873547, secret_key.key_dict())
from Crypto.PublicKey import RSA from gpglib.structures import EncryptedMessage, Key if __name__ == '__main__': data = open('tests/data/key.secret.gpg').read() key = Key(passphrase='blahandstuff') key.parse(data) keys = key.key_dict() print keys data = open('tests/data/data.small.dump.gpg').read() message = EncryptedMessage(keys) message.decrypt(data) print "Message successfully decrypted data.dump::" print message.plaintext data = open('tests/data/data.big.dump.gpg').read() message = EncryptedMessage(keys) message.decrypt(data) print "Message successfully decrypted data.big.dump::" print message.plaintext
from gpglib.structures import EncryptedMessage, Key if __name__ == '__main__': data = open('tests/data/keys/key.secret.rsa.gpg', 'rb').read() key = Key(passphrase='password25') key.parse(data) keys = key.key_dict() print(keys) data = open('tests/data/encrypted/mdc/rsa/aes/zlib/small.gpg', 'rb').read() message = EncryptedMessage(keys) message.decrypt(data) print("Message successfully decrypted data.dump::") print(message.plaintext) data = open('tests/data/encrypted/mdc/rsa/aes/zlib/big.gpg', 'rb').read() message = EncryptedMessage(keys) message.decrypt(data) print("Message successfully decrypted data.big.dump::") print(message.plaintext)
# coding: spec from gpglib.structures import Key from helpers import data import unittest import nose describe "Consuming keys": it "successfully consumes a secret key": secret_key = Key(passphrase='blahandstuff').parse(data.get_pgp_key('secret')) # Parent key self.assertIn(4259707814030784140, secret_key.key_dict()) # Sub-key self.assertIn(5524596192824459786, secret_key.key_dict()) it "successfully consumes a public key": public_key = Key().parse(data.get_pgp_key('public')) # Parent key self.assertIn(3166937994423974160, public_key.key_dict()) # Sub-key self.assertIn(11980534847294644458L, public_key.key_dict()) it "successfully calls a function to retrieve the passphrase": def passphrase_func(message, info): return 'blahandstuff' secret_key = Key(passphrase=passphrase_func).parse(data.get_pgp_key('secret')) # Parent key self.assertIn(4259707814030784140, secret_key.key_dict()) # Sub-key