【问题标题】:Verify signed message with M2Crypto for a self signed certificate使用 M2Crypto 验证签名消息以获得自签名证书
【发布时间】:2016-02-26 21:13:41
【问题描述】:

我正在尝试使用 M2Crypto 复制此 openssl 命令

openssl smime -verify -in local_files/auth_data.pem.pk7 -inform PEM -certfile certificate.crt -noverify

我的代码如下所示:

smime = M2Crypto.SMIME.SMIME()

x509_store = M2Crypto.X509.X509_Store()
x509_store.load_info(ca_file)
smime.set_x509_store(x509_store)

x509_stack = M2Crypto.X509.X509_Stack()
x509_cert = M2Crypto.X509.load_cert(cert_file)
x509_stack.push(x509_cert)
smime.set_x509_stack(x509_stack)

p7 = M2Crypto.SMIME.load_pkcs7_bio(M2Crypto.BIO.MemoryBuffer(cipher_text))

decrypted_data = smime.verify(p7)

但我在最后一行得到了这个错误:

PKCS7_Error: certificate verify error

我不能让 M2Crypto 表现得像带有“-noverify”标志的 openssl。

我尝试在 X509_Store 中加载相同的证书,但结果相同。

【问题讨论】:

    标签: python openssl m2crypto


    【解决方案1】:

    我花了一段时间,但我在这个源代码https://pythonhosted.org/pysmime/pysmime.core-pysrc.html#verify找到了答案

    这是允许自签名证书的代码:

    decrypted_data = smime.verify(p7, flags=M2Crypto.SMIME.PKCS7_NOVERIFY)
    

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 2011-03-28
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 2015-11-01
      • 2012-09-08
      相关资源
      最近更新 更多