Python Pyme: Simple dešifrování bez zásahu uživatele

hlasů
0

Já používám Pyme pro komunikaci s GPGME a neměli žádné problémy s přihlašováním / šifrování. Když se snažím dešifrovat, nicméně vždy vyvolá řádek pro fráze, navzdory tomu, že ji nastavit pomocí c.set_passphrase_cbzpětného volání. Dělám něco špatně?

Položena 17/08/2009 v 17:19
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Mám podobný problém. Můj kód vypadá takto:

def passphrase_callback (Tip = '', desc = '', prev_bad = ''): return 'heslo'

třída CryptoEngine: třída NoSignKeys (Výjimka): def init (self, str): Výjimka. init (self, str)

def __init__(self, user_id, passphrase):
    "Initialize with ID (e-mail)"
    self.user_id = user_id
    self.passphrase = passphrase
def verify(self, data):
    c = core.Context()
    sig = core.Data(string = data)
    file = None
    plain = core.Data()
    c.op_verify(sig, file, plain)
    result = c.op_verify_result()
    plain.seek(0, 0)
    plaintext = plain.read()
    sig = result.signatures
    status = False
    for s in sig:
        status = (s.status == 0)
    return status, plaintext

def sign(self, data):
    c = core.Context()
    for sigkey in c.op_keylist_all(self.user_id, 1):
        if sigkey.can_sign:
            c.signers_add(sigkey)
    if not c.signers_enum(0):
        raise CryptoEngine.NoSignKeys("No secret %s's keys suitable for signing" % self.user_id)

    plain = core.Data(data)
    sig = core.Data()
    c.set_passphrase_cb(passphrase_callback)
    c.op_sign(plain, sig, mode.CLEAR)
    sig.seek(0, 0)
    return sig.read()

Přes nastavení přístupového hesla zpětné volání pořád buď získat zprávou s dotazem na přístupové heslo nebo jen výjimky oznamování špatného hesla. Někdo řeší tento problém a mohli sdílet své znalosti? Díky, Yan

Odpovězeno 03/12/2009 v 00:02
zdroj uživatelem

hlasů
0

Přidat „c.set_armor (1)“ Před nastavení přístupového hesla zpětné volání.

Odpovězeno 11/04/2010 v 18:53
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more