Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.1
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
service_identity /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
__init__.py
690
B
-rw-r--r--
_common.py
11.52
KB
-rw-r--r--
_compat.py
308
B
-rw-r--r--
cryptography.py
4.86
KB
-rw-r--r--
exceptions.py
1.23
KB
-rw-r--r--
pyopenssl.py
5.03
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : cryptography.py
""" `cryptography.x509 <https://github.com/pyca/cryptography>`_-specific code. """ from __future__ import absolute_import, division, print_function import warnings from cryptography.x509 import ( DNSName, ExtensionOID, IPAddress, NameOID, ObjectIdentifier, OtherName, UniformResourceIdentifier, ) from cryptography.x509.extensions import ExtensionNotFound from pyasn1.codec.der.decoder import decode from pyasn1.type.char import IA5String from ._common import ( DNS_ID, CertificateError, DNSPattern, IPAddress_ID, IPAddressPattern, SRVPattern, URIPattern, verify_service_identity, ) from .exceptions import SubjectAltNameWarning __all__ = ["verify_certificate_hostname"] def verify_certificate_hostname(certificate, hostname): """ Verify whether *certificate* is valid for *hostname*. .. note:: Nothing is verified about the *authority* of the certificate; the caller must verify that the certificate chains to an appropriate trust root themselves. :param cryptography.x509.Certificate certificate: A cryptography X509 certificate object. :param unicode hostname: The hostname that *certificate* should be valid for. :raises service_identity.VerificationError: If *certificate* is not valid for *hostname*. :raises service_identity.CertificateError: If *certificate* contains invalid/unexpected data. :returns: ``None`` """ verify_service_identity( cert_patterns=extract_ids(certificate), obligatory_ids=[DNS_ID(hostname)], optional_ids=[], ) def verify_certificate_ip_address(certificate, ip_address): """ Verify whether *certificate* is valid for *ip_address*. .. note:: Nothing is verified about the *authority* of the certificate; the caller must verify that the certificate chains to an appropriate trust root themselves. :param cryptography.x509.Certificate certificate: A cryptography X509 certificate object. :param unicode ip_address: The IP address that *connection* should be valid for. Can be an IPv4 or IPv6 address. :raises service_identity.VerificationError: If *certificate* is not valid for *ip_address*. :raises service_identity.CertificateError: If *certificate* contains invalid/unexpected data. :returns: ``None`` .. versionadded:: 18.1.0 """ verify_service_identity( cert_patterns=extract_ids(certificate), obligatory_ids=[IPAddress_ID(ip_address)], optional_ids=[], ) ID_ON_DNS_SRV = ObjectIdentifier("1.3.6.1.5.5.7.8.7") # id_on_dnsSRV def extract_ids(cert): """ Extract all valid IDs from a certificate for service verification. If *cert* doesn't contain any identifiers, the ``CN``s are used as DNS-IDs as fallback. :param cryptography.x509.Certificate cert: The certificate to be dissected. :return: List of IDs. """ ids = [] try: ext = cert.extensions.get_extension_for_oid( ExtensionOID.SUBJECT_ALTERNATIVE_NAME ) except ExtensionNotFound: pass else: ids.extend( [ DNSPattern(name.encode("utf-8")) for name in ext.value.get_values_for_type(DNSName) ] ) ids.extend( [ URIPattern(uri.encode("utf-8")) for uri in ext.value.get_values_for_type( UniformResourceIdentifier ) ] ) ids.extend( [ IPAddressPattern(ip) for ip in ext.value.get_values_for_type(IPAddress) ] ) for other in ext.value.get_values_for_type(OtherName): if other.type_id == ID_ON_DNS_SRV: srv, _ = decode(other.value) if isinstance(srv, IA5String): ids.append(SRVPattern(srv.asOctets())) else: # pragma: nocover raise CertificateError("Unexpected certificate content.") if not ids: # https://tools.ietf.org/search/rfc6125#section-6.4.4 # A client MUST NOT seek a match for a reference identifier of CN-ID if # the presented identifiers include a DNS-ID, SRV-ID, URI-ID, or any # application-specific identifier types supported by the client. cns = [ n.value for n in cert.subject.get_attributes_for_oid(NameOID.COMMON_NAME) ] cn = next(iter(cns), b"<not given>") ids = [DNSPattern(n.encode("utf-8")) for n in cns] warnings.warn( "Certificate with CN {!r} has no `subjectAltName`, falling back " "to check for a `commonName` for now. This feature is being " "removed by major browsers and deprecated by RFC 2818.".format(cn), SubjectAltNameWarning, ) return ids
Close