def test_verify_ip_address_ok(self, ip): """ verify_ip_address succeeds if the addresses match. Works both with IPv4 and IPv6. """ class FakeConnection(object): def get_peer_certificate(self): return CERT_EVERYTHING verify_ip_address(FakeConnection(), ip)
def verify_context_info_cb(self, ssl_connection, where): if where & SSL.SSL_CB_HANDSHAKE_START and not self._is_ip_address: ssl_connection.set_tlsext_host_name(self._hostnameBytes) if where & SSL.SSL_CB_HANDSHAKE_DONE and self._verify_certs: try: if self._is_ip_address: verify_ip_address(ssl_connection, self._hostnameASCII) else: verify_hostname(ssl_connection, self._hostnameASCII) except VerificationError: f = Failure() tls_protocol = ssl_connection.get_app_data() tls_protocol.failVerification(f)
def test_verify_ip_address_fail(self, ip): """ verify_ip_address fails if the addresses don't match and provides the user with helpful information. Works both with IPv4 and IPv6. """ class FakeConnection(object): def get_peer_certificate(self): return CERT_EVERYTHING with pytest.raises(VerificationError) as ei: verify_ip_address(FakeConnection(), ip) assert [IPAddressMismatch(mismatched_id=IPAddress_ID(ip)) ] == ei.value.errors
def test_verify_ip_address_fail(self, ip): """ verify_ip_address fails if the addresses don't match and provides the user with helpful information. Works both with IPv4 and IPv6. """ class FakeConnection(object): def get_peer_certificate(self): return CERT_EVERYTHING with pytest.raises(VerificationError) as ei: verify_ip_address(FakeConnection(), ip) assert [ IPAddressMismatch(mismatched_id=IPAddress_ID(ip)) ] == ei.value.errors