Encontré una forma para poder cifrar un string con la publickey de otra persona y es agregando
always_trust=True a la función gpg.encrypt, esto le indica a gnupg que la key es de confianza siempre.
entonces la modificación a mi clase seria
Código Python:
Ver originalclass EncryptedString():
*
*
* * def __init__(self,homegpg,user,set_result):
*
* * * * self.homegpg = homegpg
* * * * self.user = user
* * * *
* * * * self.set_result = set_result
* * def encrypt_string(self,input_string):
* * * * #Encrypt a string
* * * * self.input_string = input_string
* * * * gpg *= *gnupg.GPG(gnupghome = self.homegpg)
* * * * unencrypted_string *= *self.input_string
# agregar en la siguiente linea always_trust=True
* * * * encrypted_data = gpg.encrypt(unencrypted_string, self.user,always_trust=True)
* * * * encrypted_string *= *str(encrypted_data)
* * * * ok = *encrypted_data.ok
* * * * status = *encrypted_data.status
* * * * stderr = *encrypted_data.stderr
* * * * result = [ok,status,stderr,unencrypted_string,encrypted_string]
* * * * return result[self.set_result]
* * * * *
# instantiate
if __name__ *== *"__main__":
* * print "Is not shown if import"
* *
* * homegpg = '../home/gpg/'
* * input_string = 'string en texto plano'
* * set_result = 2
* * encryptstring = EncryptedString(homegpg,user,set_result)
* * print encryptstring.encrypt_string(input_string)
* * print " enjoy "
Espero sea útil