This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
wujiating-diamondv/util/util_http.py
nanwct 8533fa17cf abc
2022-05-19 14:55:02 +08:00

46 lines
1.3 KiB
Python

from dns.message import make_query, from_wire
import ssl
def make_ssl_context(check_cert=False):
ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
if check_cert:
ssl_ctx.verify_mode = ssl.CERT_REQUIRED
else:
# ssl_ctx.verify_mode = ssl.CERT_NONE
ssl_ctx.verify_mode = ssl.CERT_OPTIONAL
# ssl_ctx.minimum_version = ssl.TLSVersion.TLSv1_1
return ssl_ctx
def build_dns_query(qname="example.com", rtype="A"):
dns_query = make_query(
qname=qname,
rdtype=rtype,
want_dnssec=False,
)
return dns_query
def get_domain_from_cert(cert):
cert_info_domain_related = []
if not cert:
return cert_info_domain_related
for key, value in cert.items():
if key == "subject":
for (sub_key, sub_value), in value:
if sub_key == "commonName":
# print(sub_value)
cert_info_domain_related.append(sub_value)
if key == "subjectAltName":
for (sub_key, sub_value) in value:
cert_info_domain_related.append(sub_value)
return list(set(cert_info_domain_related))
# def build_dns_query_wireformat(qname="example.com", rtype="A"):
# dns_query = build_dns_query()
# return dns_query.to_wire()