输入:使用openssl完成的大型多部分签名和加密电子邮件(~10MB).
解密文件似乎足够快.
获取解密信息以验证它们的时间超过了很长时间.似乎M2Crypto库存在一些问题.如果你用smime_load_pkcs7_bio一个写p7s的文件替换这个呼叫+用smime_load_pkcs7呼叫读它就会快得多.但我想避免在磁盘上写/读(因为它现在是我的瓶颈).
问题:有没有人对此性能问题有一些解决方法或解决方案?
python 2.7代码:
from M2Crypto import SMIME, X509, BIO, m2
# read signed and encrypted file
with open("toto.p7m", "r") as p7mFile:
p7mBio = BIO.File(p7mFile)
p7m = SMIME.PKCS7(m2.pkcs7_read_bio_der(p7mBio._ptr()), 1)
s = SMIME.SMIME()
# Decrypt
s.load_key('cnt.key', 'cnt.crt', callback = lambda x : 'cnt_password.info')
p7s = s.decrypt(p7m)
print("Decryption ok (and fast).")
# Verify
p7s_bio = BIO.MemoryBuffer(p7s)
p7, data = SMIME.smime_load_pkcs7_bio(p7s_bio)
# MUCH FASTER !!!
#p7, data = SMIME.smime_load_pkcs7('toto.p7s')
print("Wow this long to load something that is …Run Code Online (Sandbox Code Playgroud)