Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/09/2012, 10:54
Avatar de mcun
mcun
 
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Como firmar una publickey importada, para validarla [gnupg +python 2.7]

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 original
  1. class EncryptedString():
  2. *
  3. *
  4. * * def __init__(self,homegpg,user,set_result):
  5. *
  6. * * * * self.homegpg = homegpg
  7. * * * * self.user = user
  8. * * * *
  9. * * * * self.set_result = set_result
  10. * * def encrypt_string(self,input_string):
  11. * * * * #Encrypt a string
  12. * * * * self.input_string = input_string
  13. * * * * gpg *= *gnupg.GPG(gnupghome = self.homegpg)
  14. * * * * unencrypted_string *= *self.input_string
  15.         # agregar en la siguiente linea always_trust=True
  16. * * * * encrypted_data  =  gpg.encrypt(unencrypted_string, self.user,always_trust=True)
  17. * * * * encrypted_string *= *str(encrypted_data)
  18. * * * * ok = *encrypted_data.ok
  19. * * * * status = *encrypted_data.status
  20. * * * * stderr = *encrypted_data.stderr
  21. * * * * result = [ok,status,stderr,unencrypted_string,encrypted_string]
  22. * * * * return result[self.set_result]
  23. * * * * *
  24. # instantiate
  25. if __name__ *== *"__main__":
  26. * * print "Is not shown if import"
  27. * *
  28. * * homegpg = '../home/gpg/'
  29. * * user = '[email protected]'
  30. * * input_string = 'string en texto plano'
  31. * * set_result = 2
  32. * * encryptstring = EncryptedString(homegpg,user,set_result)
  33. * * print encryptstring.encrypt_string(input_string)
  34. * * print " enjoy "

Espero sea útil