diff options
Diffstat (limited to 'util/util_http.py')
| -rw-r--r-- | util/util_http.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/util/util_http.py b/util/util_http.py new file mode 100644 index 0000000..853b351 --- /dev/null +++ b/util/util_http.py @@ -0,0 +1,45 @@ +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()
|
