python 指定证书验证_如何在python中验证SSL证书?

news/2024/12/1 19:03:58/

我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到:

# Custom CA file: ca-cert.pem

# Cert signed by above CA: bob.cert

$openssl verify -CAfile test-ca-cert.pem bob.cert

bob.cert: OK

但是我需要在Python中做同样的事情,而且我真的不想调用命令行实用程序.据我所知,M2Crypto是OpenSSL的“最完整”的python包装,但是我无法弄清楚如何完成命令行实用程序的功能!

参考this question如何在C代码中完成同样的任务,我已经能够得到一半的.我选择的变量名称与openssl verify命令行实用程序的源代码中使用的变量名相同,请参阅openssl-xxx / apps / verify.c.

import M2Crypto as m2

# Load the certificates

cacert = m2.X509.load_cert('test-ca-cert.pem') # Create cert object from CA cert file

bobcert = m2.X509.load_cert('bob.cert') # Create cert object from Bob's cert file

cert_ctx = m2.X509.X509_Store() # Step 1 from referenced C code steps

csc = m2.X509.X509_Store_Context(cert_ctx) # Step 2 & 5

cert_ctx.add_cert(cacert) # Step 3

cert_ctx.add_cert(bobcert) # ditto

# Skip step 4 (no CRLs to add)

# Step 5 is combined with step 2...I think. (X509_STORE_CTX_init: Python creates and

# initialises an object in the same step)

# Skip step 6? (can't find anything corresponding to

# X509_STORE_CTX_set_purpose, not sure if we need to anyway???)

#

# It all falls apart at this point, as steps 7 and 8 don't have any corresponding

# functions in M2Crypto -- I even grepped the entire source code of M2Crypto, and

# neither of the following functions are present in it:

# Step 7: X509_STORE_CTX_set_cert - Tell the context which certificate to validate.

# Step 8: X509_verify_cert - Finally, validate it

所以我在那里的一半,但我似乎实际上不能完成验证!我错过了什么吗?有没有其他的功能我应该使用从M2Crypto?我应该寻找一个完全不同的OpenSSL的python包装?如何在python中完成这个任务?

请注意,我正在使用证书加密/解密FILES,所以我不喜欢使用基于SSL连接的对等证书验证(其中有already been answered),因为我没有任何SSL连接.


http://www.ppmy.cn/news/237275.html

相关文章

python 支付宝证书 计算SN 序列号

网上没看到有python写的算支付宝公钥证书与根证书序列号得,只有java与php,我python怎么能没有呢 整上! 安装pyOpenSSL pip install pyOpenSSL # codingutf-8 # author wangdada import OpenSSL import hashlib import redef md5(string):re…

python 证书-python+证书

广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! redirect:根据路由跳转页面render_template:找到并返回html页面,默认文件夹是tem…

python 证书-python requests证书问题解决

用requests包请求https的网站时,我们偶尔会遇到证书问题。也就是常见的SSLerror,遇到这种问题莫慌莫慌。 这里没有找到合适的网站去报SSL证书的错误,所以就假装请求了一个https的网站,然后给报了SSLerror了,然后下面是…

pythonrequests证书_python requests证书问题解决

用requests包请求https的网站时,我们偶尔会遇到证书问题。也就是常见的SSLerror,遇到这种问题莫慌莫慌。 这里没有找到合适的网站去报SSL证书的错误,所以就假装请求了一个https的网站,然后给报了SSLerror了,然后下面是…

工信部python证书多少钱_python requests SSL证书问题

错误信息如下: requests.exceptions.SSLError: ("bad handshake: Error([(SSL routines, tls_process_server_certificate, certificate verify failed)],)",) python做爬虫,对于有的网站,需要验证证书,比如&#xff1a…

python证书过期_简单python脚本监控SSL证书到期提醒

随着https的普及,或者说被强制使用,需要维护的SSL证书越来越多,而且由于各种原因吧,需要在各种不同的平台申请维护证书,时间长了,总有证书忘记续签 有些使用了letsencrypt自动续签,但是某些原因…

python证书考试报名时间,python证书考试报名条件

python考级一年考几次 一年考四次。2019年全国计算机等级考试(NCRE)将举办四次考试,时间分别为3月30日至4月1日(第54次)、6月1日(第55次)、9月21日至23日(第56次)及12月…

Python有证书吗?python证书是什么级别的呢?怎么才能达到python证书的考试条件呢?

导语 人生苦短,我用Python!! 学好Python:兼职接单一条龙服务,还能大学毕业之后直接就业赚技术工资。 关于python证书的问题 现在Python越来越流行,很多大学和高中都已经开始将Python列入了必学科目,所以很多朋友在学习Python的时…