Я пытался сделать это с помощью pyCrypto и keyczar, но проблема в том, что у них нет возможности анализировать сертификаты X509 (keyczar имеет keyczar.util.ParseX509 (), но он ограничен и не работает для сертификата AWS или I ' я угадываю любой сертификат реального мира).
Я думаю, что M2Crypto работает, хотя. См. Следующий фрагмент кода, для которого требуется настоящая подпись и открытый текст, чтобы действительно провести тестирование.
from M2Crypto import X509
cert = X509.load_cert("PKICert.pem")
pub_key = cert.get_pubkey()
plaintext = "YYY" # Put plaintext message here
signature = "XXX" # Put signature of plaintext here
pub_key.verify_init()
pub_key.verify_update(plaintext)
if not pub_key.verify_final(signature):
print "Signature failed"