python证书有用吗_在Python中禁用SSL证书验证

ssl.get_server_certificate可以这样做:

import ssl

ssl.get_server_certificate(("www.sefaz.ce.gov.br",443))

我认为函数doc字符串比python doc site更清晰:

"""Retrieve the certificate from the server at the specified address,and return it as a PEM-encoded string.

If 'ca_certs' is specified,validate the server cert against it.

If 'ssl_version' is specified,use it in the connection attempt."""

因此,您可以从二进制DER证书中提取通用名称,以搜索通用名称对象标识符:

def get_commonname(host,port=443):

oid='\x06\x03U\x04\x03' # Object Identifier 2.5.4.3 (COMMON NAME)

pem=ssl.get_server_certificate((host,port))

der=ssl.PEM_cert_to_DER_cert(pem)

i=der.find(oid) # find first common name (certificate authority)

if i!=-1:

i=der.find(oid,i+1) # skip and find second common name

if i!=-1:

begin=i+len(oid)+2

end=begin+ord(der[begin-1])

return der[begin:end]

return None

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值