def _transplant_uid(donor_uid: PGPUID, target_key: PGPKey) -> None: if not donor_uid.is_uid: raise AssertionError( "Donor UID is not a UID and cannot be transplanted!") donor_uid = donor_uid.__copy__() target_key.add_uid(donor_uid, selfsign=False)
public_key, _ = PGPKey.from_blob(gpg['public']) # fingerprint contains cration date so we need explicit copy this one pgp_key._key.created = public_key._key.created pgp_key.add_uid(public_key.userids[0], usage={ KeyFlags.Sign, KeyFlags.EncryptCommunications, KeyFlags.EncryptStorage }, hashes=[ HashAlgorithm.SHA256, HashAlgorithm.SHA384, HashAlgorithm.SHA512, HashAlgorithm.SHA224 ], ciphers=[ SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.AES192, SymmetricKeyAlgorithm.AES128 ], compression=[ CompressionAlgorithm.ZLIB, CompressionAlgorithm.BZ2, CompressionAlgorithm.ZIP, CompressionAlgorithm.Uncompressed ]) # print pgp_key key_fingeprint = pgp_key.fingerprint.replace(" ", "") print "[+] Dump {} - {}".format(key_fingeprint, public_key.userids[0])