Подтвердить подпись с pyopenssl

Я считаю, что с этоговопрос, pyOpenSSL начал поддерживать проверку подписей (по состоянию наpyOpenSSL 0.11.

Я работаю над проектом, который был начат кем-то другим, используяM2Crypto, M2Crypto действительно больно включать на такие платформы, какHeroku так как требует использованияSWIG, Следовательно, я пытаюсь удалить зависимость от M2Crypto и заменить ее на pyOpenSSL, которую легко установить через Pip и которая не требует пользовательских пакетов компоновки и многого другого, что связано с SWIG.

У меня проблема с заменой небольшого кода:

key = cert.get_pubkey() # Cert is an M2Crypto X509 object
key = key.get_rsa()
ret = key.verify(hashed, self.sig)
if ret != 1:
    # Cert invalid ... etc.

В идеале я хотел бы реализовать ту же функциональность через pyOpenSSL, но чувствую, что, возможно, получил неправильный конец флешки - я пытался использовать:

crypto.verify(cert, self.sig, hashed, 'sha1')

Но это не удается -

[('rsa routines', 'RSA_verify', 'bad signature')]

Я не могу понять, происходит ли сбой, потому что подпись на самом деле плохая, или потому что значения, которые я предоставляю crypto.verify, на самом деле не те, для которых он должен использоваться!

Исходный код, с которым я играл,Вот и нужно немного поработать, чтобы привести в порядок, но пытался сделать это один шаг за раз, заменяя функциональность перед полным рефакторингом. Любые указатели будут высоко оценены! Имеет ли pyOpenSSL возможность заменить функциональность M2Crypto здесь, и я собираюсь сделать это правильно?

Ответы на вопрос(1)

Ваш ответ на вопрос