如何在不使用python创建文件的情况下使用openssl进行验证?

如何在不使用python创建文件的情况下使用openssl进行验证?,python,openssl,pyopenssl,m2crypto,Python,Openssl,Pyopenssl,M2crypto,我正在使用OpenSSL进行验证 openssl dgst -sha256 -verify public.pem -signature sign_file origin_file 我需要做的是,如果我知道sign_文件和origin_文件的内容,我如何在不创建文件的情况下在python中执行验证工作?您尝试过吗 你试过了吗 我找到了一个解决问题的办法: 下面是执行验证工作的演示: import base64 from M2Crypto import BIO, RSA, EVP ori =

我正在使用OpenSSL进行验证

openssl dgst -sha256 -verify public.pem -signature sign_file origin_file
我需要做的是,如果我知道sign_文件和origin_文件的内容,我如何在不创建文件的情况下在python中执行验证工作?

您尝试过吗

你试过了吗


我找到了一个解决问题的办法:

下面是执行验证工作的演示:

import base64

from M2Crypto import BIO, RSA, EVP

ori = "content of origin string"
sig = "content of signature string"

with open("./public.pem") as f:
    pem = f.read()
    bio = BIO.MemoryBuffer(pem)
    rsa = RSA.load_pub_key_bio(bio)

    pubkey = EVP.PKey()
    pubkey.assign_rsa(rsa)
    pubkey.reset_context(md="sha256")
    pubkey.verify_init()
    pubkey.verify_update(ori)
    print pubkey.verify_final(base64.b64decode(sig))  # 1 means verify OK

我找到了一个解决问题的办法:

下面是执行验证工作的演示:

import base64

from M2Crypto import BIO, RSA, EVP

ori = "content of origin string"
sig = "content of signature string"

with open("./public.pem") as f:
    pem = f.read()
    bio = BIO.MemoryBuffer(pem)
    rsa = RSA.load_pub_key_bio(bio)

    pubkey = EVP.PKey()
    pubkey.assign_rsa(rsa)
    pubkey.reset_context(md="sha256")
    pubkey.verify_init()
    pubkey.verify_update(ori)
    print pubkey.verify_final(base64.b64decode(sig))  # 1 means verify OK

第一个参数证书是生成签名的私钥对应的X509实例,如果我只有公钥,如何生成X509实例?第一个参数证书是生成签名的私钥对应的X509实例,如果我只有公钥,如何生成X509实例?