You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ uname -a
Linux DietPi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l GNU/Linux
Download file Pillow-9.5.0.tar.gz timeout error
python3 -m pip install --upgrade Pillow --global-option="build_ext" --global-option="--enable-zlib --enable-jpeg --enable-tiff --enable-freetype"
DEPRECATION: --build-option and --global-option are deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use --config-settings. Discussion can be found at pypa/pip#11859
WARNING: Implying --no-binary=:all: due to the presence of --build-option / --global-option.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting Pillow
Downloading Pillow-9.5.0.tar.gz (50.5 MB)
━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━ 24.8/50.5 MB 113.8 kB/s eta 0:03:46
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/http/client.py", line 465, in read
s = self.fp.read(amt)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 706, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1278, in recv_into
return self.read(nbytes, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1134, in read
return self._sslobj.read(len, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in init
super().init(
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 587, in _prepare_linked_requirement
local_file = unpack_url(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
file = get_http_url(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
from_path, content_type = download(link, temp_dir.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/download.py", line 147, in call
for chunk in chunks:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/usr/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
DEPRECATION: --build-option and --global-option are deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use --config-settings. Discussion can be found at pypa/pip#11859
WARNING: Implying --no-binary=:all: due to the presence of --build-option / --global-option.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting Pillow
Downloading Pillow-9.5.0.tar.gz (50.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━ 32.5/50.5 MB 81.9 kB/s eta 0:03:40
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/http/client.py", line 465, in read
s = self.fp.read(amt)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 706, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1278, in recv_into
return self.read(nbytes, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1134, in read
return self._sslobj.read(len, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in init
super().init(
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 587, in _prepare_linked_requirement
local_file = unpack_url(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
file = get_http_url(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
from_path, content_type = download(link, temp_dir.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/download.py", line 147, in call
for chunk in chunks:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/usr/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;pypi.org. IN A
;; ANSWER SECTION:
pypi.org. 7550 IN A 151.101.128.223
pypi.org. 7550 IN A 151.101.0.223
pypi.org. 7550 IN A 151.101.64.223
pypi.org. 7550 IN A 151.101.192.223
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3387 bytes and written 378 bytes
Verification: OK
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_128_GCM_SHA256
Session-ID: 1C33ADA63F6B3379B4B4F98814DAA7E0BDDA7A7221766A72E1C2828749C9E4C6
Session-ID-ctx:
Resumption PSK: 87F14B26D33C761C87FD5091E49E8E879BFF6559E5A63617167DD886F6BA09BE
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 3600 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - 71 3e 1c b2 85 36 a5 d3-08 b7 4f 55 c5 79 7a 46 q>...6....OU.yzF
0020 - 0e dd 88 1e 9b ba 75 5c-2e e3 70 a7 af 55 94 e1 ......u..p..U..
0030 - f4 0f 13 f1 19 fa 23 0c-68 50 25 f3 0b 67 0a a6 ......#.hP%..g..
0040 - ca 88 0c db 76 79 aa ac-ca 68 49 88 7a 44 8e 11 ....vy...hI.zD..
0050 - 32 7b ba cf a3 41 eb 44-46 fe 9b e7 e7 35 04 6c 2{...A.DF....5.l
0060 - f8 e4 a8 20 37 d3 8b 68-61 c7 27 1c af ef 0d 20 ... 7..ha.'....
0070 - 9e 34 f3 c6 7b 60 52 78-ec 91 6b df e5 6d b7 c1 .4..{`Rx..k..m..
0080 - 05 b1 89 05 70 09 11 3c-39 f0 cf 4a 4f f9 3d cf ....p..<9..JO.=.
Start Time: 1682416212
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0
read R BLOCK
DONE
$ echo -n | openssl s_client -4 -connect files.pythonhosted.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = *.pythonhosted.org
verify return:1
Certificate chain
0 s:CN = *.pythonhosted.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Sep 27 20:45:08 2022 GMT; NotAfter: Oct 29 20:45:07 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3387 bytes and written 378 bytes
Verification: OK
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_128_GCM_SHA256
Session-ID: 414170D85EB759D20200DE42DD966991BC3A07861FDB969073133222212F3183
Session-ID-ctx:
Resumption PSK: F6A678E5E372FF07AABF66082DD6B9BD6AB87862C470BCB64EF1BA02DBE2AB99
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 3600 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - 33 3b 12 55 bb 64 fc 6b-54 23 a4 85 77 60 f6 c1 3;.U.d.kT#..w`..
0020 - 1f 2a ea 42 7a fc c8 8f-08 61 36 3e 8a 08 d0 27 .*.Bz....a6>...'
0030 - 52 20 2b 52 25 5e 6f d0-d1 b3 38 46 79 ac d6 b9 R +R%^o...8Fy...
0040 - 71 ff 52 0c 61 d5 e5 5f-c3 ff 45 d1 ee ab 0c ff q.R.a.._..E.....
0050 - bc d8 53 72 2c e9 e6 e1-1f b5 22 5a b9 8f aa 99 ..Sr,....."Z....
0060 - 72 30 00 58 09 62 10 86-0b 5a 76 15 36 6b 66 f8 r0.X.b...Zv.6kf.
0070 - 69 20 b9 72 dc 21 c4 30-5e 15 cb 27 67 c8 4f 5c i .r.!.0^..'g.O
0080 - f9 b8 4f 30 d3 3f 35 83-c1 3a 79 a0 ed 3d fa 6e ..O0.?5..:y..=.n
Start Time: 1682416630
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0
read R BLOCK
DONE
$ echo -n | openssl s_client -6 -connect files.pythonhosted.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = *.pythonhosted.org
verify return:1
Certificate chain
0 s:CN = *.pythonhosted.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Sep 27 20:45:08 2022 GMT; NotAfter: Oct 29 20:45:07 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
My Platform
$ uname -a
Linux DietPi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l GNU/Linux
Download file Pillow-9.5.0.tar.gz timeout error
python3 -m pip install --upgrade Pillow --global-option="build_ext" --global-option="--enable-zlib --enable-jpeg --enable-tiff --enable-freetype"
DEPRECATION: --build-option and --global-option are deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use --config-settings. Discussion can be found at pypa/pip#11859
WARNING: Implying --no-binary=:all: due to the presence of --build-option / --global-option.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting Pillow
Downloading Pillow-9.5.0.tar.gz (50.5 MB)
━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━ 24.8/50.5 MB 113.8 kB/s eta 0:03:46
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/http/client.py", line 465, in read
s = self.fp.read(amt)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 706, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1278, in recv_into
return self.read(nbytes, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1134, in read
return self._sslobj.read(len, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in init
super().init(
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 587, in _prepare_linked_requirement
local_file = unpack_url(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
file = get_http_url(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
from_path, content_type = download(link, temp_dir.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/download.py", line 147, in call
for chunk in chunks:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/usr/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
Fastly Debug
$ python3 -m pip install --upgrade Pillow --global-option="build_ext" --global-option="--enable-zlib --enable-jpeg --enable-tiff --enable-freetype"
DEPRECATION: --build-option and --global-option are deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use --config-settings. Discussion can be found at pypa/pip#11859
WARNING: Implying --no-binary=:all: due to the presence of --build-option / --global-option.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting Pillow
Downloading Pillow-9.5.0.tar.gz (50.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━ 32.5/50.5 MB 81.9 kB/s eta 0:03:40
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/http/client.py", line 465, in read
s = self.fp.read(amt)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 706, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1278, in recv_into
return self.read(nbytes, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ssl.py", line 1134, in read
return self._sslobj.read(len, buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in init
super().init(
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 587, in _prepare_linked_requirement
local_file = unpack_url(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
file = get_http_url(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
from_path, content_type = download(link, temp_dir.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/download.py", line 147, in call
for chunk in chunks:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/usr/local/lib/python3.11/dist-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/usr/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
DNS Resolution
$ dig pypi.org A
; <<>> DiG 9.18.12-1-Raspbian <<>> pypi.org A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15647
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;pypi.org. IN A
;; ANSWER SECTION:
pypi.org. 7550 IN A 151.101.128.223
pypi.org. 7550 IN A 151.101.0.223
pypi.org. 7550 IN A 151.101.64.223
pypi.org. 7550 IN A 151.101.192.223
;; Query time: 0 msec
;; SERVER: 192.168.1.254#53(192.168.1.254) (UDP)
;; WHEN: Tue Apr 25 11:20:04 CEST 2023
;; MSG SIZE rcvd: 101
$ dig pypi.org AAAA
; <<>> DiG 9.18.12-1-Raspbian <<>> pypi.org AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38512
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;pypi.org. IN AAAA
;; ANSWER SECTION:
pypi.org. 42114 IN AAAA 2a04:4e42:600::223
pypi.org. 42114 IN AAAA 2a04:4e42:400::223
pypi.org. 42114 IN AAAA 2a04:4e42:200::223
pypi.org. 42114 IN AAAA 2a04:4e42::223
;; Query time: 0 msec
;; SERVER: 192.168.1.254#53(192.168.1.254) (UDP)
;; WHEN: Tue Apr 25 11:24:31 CEST 2023
;; MSG SIZE rcvd: 149
$ dig files.pythonhosted.org A
; <<>> DiG 9.18.12-1-Raspbian <<>> files.pythonhosted.org A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46236
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;files.pythonhosted.org. IN A
;; ANSWER SECTION:
files.pythonhosted.org. 6695 IN CNAME dualstack.r.ssl.global.fastly.net.
dualstack.r.ssl.global.fastly.net. 22 IN A 199.232.169.63
;; Query time: 10 msec
;; SERVER: 192.168.1.254#53(192.168.1.254) (UDP)
;; WHEN: Tue Apr 25 11:26:19 CEST 2023
;; MSG SIZE rcvd: 114
$ dig files.pythonhosted.org AAAA
; <<>> DiG 9.18.12-1-Raspbian <<>> files.pythonhosted.org AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14778
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;files.pythonhosted.org. IN AAAA
;; ANSWER SECTION:
files.pythonhosted.org. 5665 IN CNAME dualstack.r.ssl.global.fastly.net.
dualstack.r.ssl.global.fastly.net. 7 IN AAAA 2a04:4e42:6a::319
;; Query time: 0 msec
;; SERVER: 192.168.1.254#53(192.168.1.254) (UDP)
;; WHEN: Tue Apr 25 11:27:14 CEST 2023
;; MSG SIZE rcvd: 126
$ traceroute pypi.org
traceroute to pypi.org (151.101.192.223), 30 hops max, 60 byte packets
1 192.168.1.254 (192.168.1.254) 0.682 ms 0.603 ms 0.609 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
$ traceroute files.pythonhosted.org
traceroute to files.pythonhosted.org (199.232.169.63), 30 hops max, 60 byte packets
1 192.168.1.254 (192.168.1.254) 0.707 ms 0.781 ms 0.701 ms
2 * 194.149.169.93 (194.149.169.93) 3.594 ms 3.212 ms
3 194.149.174.48 (194.149.174.48) 3.113 ms * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
$ traceroute6 pypi.org
traceroute to pypi.org (2a04:4e42:400::223), 30 hops max, 80 byte packets
1 2a01:e0a:... (2a01:e0a:...) 0.737 ms * 0.804 ms
2 * 2a01:e00:2d:f836:84c4::ffff (2a01:e00:2d:f836:84c4::ffff) 3.012 ms 3.045 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
$ traceroute6 files.pythonhosted.org
traceroute to files.pythonhosted.org (2a04:4e42:6a::319), 30 hops max, 80 byte packets
1 2a01:e0a:... (2a01:e0a:...) 0.761 ms 0.630 ms 0.613 ms
2 2a01:e00:2d:f836:84c4::ffff (2a01:e00:2d:f836:84c4::ffff) 3.415 ms 2.944 ms 2.974 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
$ curl -vvv -I --ipv4 https://pypi.org/pypi/pip/json
< HTTP/2 200
HTTP/2 200
< access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
< access-control-allow-methods: GET
access-control-allow-methods: GET
< access-control-allow-origin: *
access-control-allow-origin: *
< access-control-expose-headers: X-PyPI-Last-Serial
access-control-expose-headers: X-PyPI-Last-Serial
< access-control-max-age: 86400
access-control-max-age: 86400
< cache-control: max-age=900, public
cache-control: max-age=900, public
< content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://.google-analytics.com https://.analytics.google.com https://*.googletagmanager.com fastly-insights.com .fastly-insights.com .ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ https://.google-analytics.com https://.googletagmanager.com *.fastly-insights.com .ethicalads.io; script-src 'self' https://.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com *.fastly-insights.com .ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com .ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src .fastly-insights.com
content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://.google-analytics.com https://.analytics.google.com https://.googletagmanager.com fastly-insights.com .fastly-insights.com .ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ https://.google-analytics.com https://.googletagmanager.com *.fastly-insights.com .ethicalads.io; script-src 'self' https://.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
< content-type: application/json
content-type: application/json
< etag: "vyL/KhteYjV+D4oLbqLR+g"
etag: "vyL/KhteYjV+D4oLbqLR+g"
< referrer-policy: origin-when-cross-origin
referrer-policy: origin-when-cross-origin
< server: nginx/1.13.9
server: nginx/1.13.9
< x-pypi-last-serial: 17813580
x-pypi-last-serial: 17813580
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 25 Apr 2023 09:45:19 GMT
date: Tue, 25 Apr 2023 09:45:19 GMT
< x-served-by: cache-iad-kcgs7200098-IAD, cache-par-lfpg1960032-PAR
x-served-by: cache-iad-kcgs7200098-IAD, cache-par-lfpg1960032-PAR
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 29, 4
x-cache-hits: 29, 4
< x-timer: S1682415920.928528,VS0,VE0
x-timer: S1682415920.928528,VS0,VE0
< vary: Accept-Encoding, Accept-Encoding
vary: Accept-Encoding, Accept-Encoding
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< content-length: 172553
content-length: 172553
<
$ curl -vvv -I --ipv4 https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
< HTTP/2 200
HTTP/2 200
< last-modified: Tue, 11 Apr 2023 02:19:03 GMT
last-modified: Tue, 11 Apr 2023 02:19:03 GMT
< etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
< x-amz-meta-btime: 2020-02-26T17:47:37.438Z
x-amz-meta-btime: 2020-02-26T17:47:37.438Z
< x-amz-meta-mtime: 1582739257.438
x-amz-meta-mtime: 1582739257.438
< x-amz-request-id: 504a325eb243b995
x-amz-request-id: 504a325eb243b995
< x-amz-id-2: aNzdjBDF2Nv1mNDE+MJNkd2aPY64whDgc
x-amz-id-2: aNzdjBDF2Nv1mNDE+MJNkd2aPY64whDgc
< x-amz-version-id: 4_z179c51e67f11a0ad8f6c0018_f1191cd4ff993bd3d_d20230411_m021903_c005_v0501003_t0041_u01681179543316
x-amz-version-id: 4_z179c51e67f11a0ad8f6c0018_f1191cd4ff993bd3d_d20230411_m021903_c005_v0501003_t0041_u01681179543316
< content-type: binary/octet-stream
content-type: binary/octet-stream
< cache-control: max-age=365000000, immutable, public
cache-control: max-age=365000000, immutable, public
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 25 Apr 2023 09:46:53 GMT
date: Tue, 25 Apr 2023 09:46:53 GMT
< age: 1052572
age: 1052572
< x-served-by: cache-iad-kcgs7200149-IAD, cache-par-lfpg1960067-PAR
x-served-by: cache-iad-kcgs7200149-IAD, cache-par-lfpg1960067-PAR
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 55, 1
x-cache-hits: 55, 1
< x-timer: S1682416013.378785,VS0,VE3
x-timer: S1682416013.378785,VS0,VE3
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< x-robots-header: noindex
x-robots-header: noindex
< x-pypi-file-python-version: source
x-pypi-file-python-version: source
< x-pypi-file-version: 10.0.1
x-pypi-file-version: 10.0.1
< x-pypi-file-package-type: sdist
x-pypi-file-package-type: sdist
< x-pypi-file-project: pip
x-pypi-file-project: pip
< content-length: 1246072
content-length: 1246072
<
$ curl -vvv -I --ipv6 https://pypi.org/pypi/pip/json
< HTTP/2 200
HTTP/2 200
< access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
access-control-allow-headers: Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since
< access-control-allow-methods: GET
access-control-allow-methods: GET
< access-control-allow-origin: *
access-control-allow-origin: *
< access-control-expose-headers: X-PyPI-Last-Serial
access-control-expose-headers: X-PyPI-Last-Serial
< access-control-max-age: 86400
access-control-max-age: 86400
< cache-control: max-age=900, public
cache-control: max-age=900, public
< content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://.google-analytics.com https://.analytics.google.com https://*.googletagmanager.com fastly-insights.com .fastly-insights.com .ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ https://.google-analytics.com https://.googletagmanager.com *.fastly-insights.com .ethicalads.io; script-src 'self' https://.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com *.fastly-insights.com .ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com .ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src .fastly-insights.com
content-security-policy: base-uri 'self'; block-all-mixed-content; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://.google-analytics.com https://.analytics.google.com https://.googletagmanager.com fastly-insights.com .fastly-insights.com .ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://warehouse-camo.ingress.cmh1.psfhosted.org/ https://.google-analytics.com https://.googletagmanager.com *.fastly-insights.com .ethicalads.io; script-src 'self' https://.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
< content-type: application/json
content-type: application/json
< etag: "vyL/KhteYjV+D4oLbqLR+g"
etag: "vyL/KhteYjV+D4oLbqLR+g"
< referrer-policy: origin-when-cross-origin
referrer-policy: origin-when-cross-origin
< server: nginx/1.13.9
server: nginx/1.13.9
< x-pypi-last-serial: 17813580
x-pypi-last-serial: 17813580
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 25 Apr 2023 09:48:09 GMT
date: Tue, 25 Apr 2023 09:48:09 GMT
< x-served-by: cache-iad-kcgs7200098-IAD, cache-par-lfpg1960035-PAR
x-served-by: cache-iad-kcgs7200098-IAD, cache-par-lfpg1960035-PAR
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 29, 1
x-cache-hits: 29, 1
< x-timer: S1682416089.241802,VS0,VE2
x-timer: S1682416089.241802,VS0,VE2
< vary: Accept-Encoding, Accept-Encoding
vary: Accept-Encoding, Accept-Encoding
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< content-length: 172553
content-length: 172553
<
$ curl -vvv -I --ipv6 https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
< HTTP/2 200
HTTP/2 200
< last-modified: Tue, 11 Apr 2023 02:19:03 GMT
last-modified: Tue, 11 Apr 2023 02:19:03 GMT
< etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
etag: "83a177756e2c801d0b3a6f7b0d4f3f7e"
< x-amz-meta-btime: 2020-02-26T17:47:37.438Z
x-amz-meta-btime: 2020-02-26T17:47:37.438Z
< x-amz-meta-mtime: 1582739257.438
x-amz-meta-mtime: 1582739257.438
< x-amz-request-id: 504a325eb243b995
x-amz-request-id: 504a325eb243b995
< x-amz-id-2: aNzdjBDF2Nv1mNDE+MJNkd2aPY64whDgc
x-amz-id-2: aNzdjBDF2Nv1mNDE+MJNkd2aPY64whDgc
< x-amz-version-id: 4_z179c51e67f11a0ad8f6c0018_f1191cd4ff993bd3d_d20230411_m021903_c005_v0501003_t0041_u01681179543316
x-amz-version-id: 4_z179c51e67f11a0ad8f6c0018_f1191cd4ff993bd3d_d20230411_m021903_c005_v0501003_t0041_u01681179543316
< content-type: binary/octet-stream
content-type: binary/octet-stream
< cache-control: max-age=365000000, immutable, public
cache-control: max-age=365000000, immutable, public
< accept-ranges: bytes
accept-ranges: bytes
< date: Tue, 25 Apr 2023 09:49:00 GMT
date: Tue, 25 Apr 2023 09:49:00 GMT
< age: 1052700
age: 1052700
< x-served-by: cache-iad-kcgs7200149-IAD, cache-par-lfpg1960088-PAR
x-served-by: cache-iad-kcgs7200149-IAD, cache-par-lfpg1960088-PAR
< x-cache: HIT, HIT
x-cache: HIT, HIT
< x-cache-hits: 55, 1
x-cache-hits: 55, 1
< x-timer: S1682416141.872500,VS0,VE2
x-timer: S1682416141.872500,VS0,VE2
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: deny
x-frame-options: deny
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-permitted-cross-domain-policies: none
x-permitted-cross-domain-policies: none
< x-robots-header: noindex
x-robots-header: noindex
< x-pypi-file-python-version: source
x-pypi-file-python-version: source
< x-pypi-file-version: 10.0.1
x-pypi-file-version: 10.0.1
< x-pypi-file-package-type: sdist
x-pypi-file-package-type: sdist
< x-pypi-file-project: pip
x-pypi-file-project: pip
< content-length: 1246072
content-length: 1246072
<
$ echo -n | openssl s_client -4 -connect pypi.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = pypi.org
verify return:1
Certificate chain
0 s:CN = pypi.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Jul 26 19:45:14 2022 GMT; NotAfter: Aug 27 19:45:13 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
Server certificate
-----BEGIN CERTIFICATE-----
MIIGfzCCBWegAwIBAgIQAe6p6b6zdP9u5myWWPuk2zANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA3
MjYxOTQ1MTRaFw0yMzA4MjcxOTQ1MTNaMBMxETAPBgNVBAMMCHB5cGkub3JnMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8o44EkMKZTdtsEtjJs1caeZE
n3YE0fNgO0H7PxbBoNsWFYtupoRz1FRdnQLThGOVg53Qo/nhBRQAxvsX4aOxk15N
PIC8Irz+XYahv4cL9lTa+oQkQINgyG7G4ohXKZDRpTnRZMOCh+VyYANq0Ou5G855
tZv1Q2iFtvxXzr2VGLZTSbqZCemaO0zBaVxSTOLrMbRDUmRh3nnCQIq61Agg+6oe
tT7OBmGQNyG998iA7/R4DcNrFFw1zM64c24v6xM+3Lq3yx6x6OCbFuxB6waJuBUh
eP8OUIlaPl6IYzKWPHZ8p5iKIfTYo4iGKAwdJF241sivWVXngxezS3M+kGSUdQID
AQABo4IDiDCCA4QwPgYDVR0RBDcwNYIIcHlwaS5vcmeCCioucHlwaS5vcmeCDHd3
dy5weXBpLm9yZ4IPZG9uYXRlLnB5cGkub3JnMA4GA1UdDwEB/wQEAwIFoDAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFEfow+xITtwxOc96
M4M5FTpT5iC1MFcGA1UdIARQME4wCAYGZ4EMAQIBMEIGCisGAQQBoDIKAQMwNDAy
BggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9y
eS8wDAYDVR0TAQH/BAIwADCBngYIKwYBBQUHAQEEgZEwgY4wQAYIKwYBBQUHMAGG
NGh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRsYXNyM2R2dGxzY2Ey
MDIycTMwSgYIKwYBBQUHMAKGPmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v
Y2FjZXJ0L2dzYXRsYXNyM2R2dGxzY2EyMDIycTMuY3J0MB8GA1UdIwQYMBaAFPqR
OWOa+60QJOW+tbnaq9nERmmrMEgGA1UdHwRBMD8wPaA7oDmGN2h0dHA6Ly9jcmwu
Z2xvYmFsc2lnbi5jb20vY2EvZ3NhdGxhc3IzZHZ0bHNjYTIwMjJxMy5jcmwwggF/
BgorBgEEAdZ5AgQCBIIBbwSCAWsBaQB2AK33vvp8/xDIi509nB4+GGq0Zyldz7EM
JMqFhjTr3IKKAAABgjwKxXoAAAQDAEcwRQIgS1S5S5j9RshJIiN7ohMvHQk+fRp/
TLACc1FuxFzukoMCIQC0kSLRxGVusXukcMXlu3VDzTyUvndArct7LrNOWX7JlAB2
ALNzdwfhhFD4Y4bWBancEQlKeS2xZwwLh9zwAw55NqWaAAABgjwKxfwAAAQDAEcw
RQIhAL//2NQ63lIVXHxrrS7jRyXmXUQvTPBtc2PYdvkCv15oAiAKIIX1AJ6GZmbn
coKYKkpxQYHFIS9s33UpweHQunIdCQB3AOg+0No+9QY1MudXKLyJa8kD08vREWvs
62nhd31tBr1uAAABgjwKxagAAAQDAEgwRgIhAJjY8dfyDTwnMdvkpQQecFFMgRIJ
/s3mdaYLbdh0IkRQAiEAjT5F9vfckv8llfCXjUzVBPSvqu3aLSXVklpkHHgGX4sw
DQYJKoZIhvcNAQELBQADggEBABk0SsR02kYtjwI1v9IId8htcmA+zyzqGOIWwvsj
10FGzi8BoRbmA7KiT+Yvh2CFuReOj8RNerv/BrS+PVgbHiwkh8GP2ETq8OPiXlUP
6hfSVyK5EMZBZ8Gn+JVCWrD6aUae7W53iFdZB1Bn1c4xTdBJy3eu/aYLtYHPH24p
3MQO24HcCGkn/LXGq005RMNdlTPJV/tymae2iUp5nGOy8MNkZq8xYHkK+YKue8mG
WvWdkdJ3fmYeKCXDVtvwKGk/1BQaS9lS50JLJTDJqAH957cvpyVnyOs41g19LwkZ
6MWFGfWo6Pem+d2GqZUs3faIFqmCS0lp7vHJ6e9nBuPi2do=
-----END CERTIFICATE-----
subject=CN = pypi.org
issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3387 bytes and written 378 bytes
Verification: OK
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_128_GCM_SHA256
Session-ID: 1C33ADA63F6B3379B4B4F98814DAA7E0BDDA7A7221766A72E1C2828749C9E4C6
Session-ID-ctx:
Resumption PSK: 87F14B26D33C761C87FD5091E49E8E879BFF6559E5A63617167DD886F6BA09BE
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 3600 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - 71 3e 1c b2 85 36 a5 d3-08 b7 4f 55 c5 79 7a 46 q>...6....OU.yzF
0020 - 0e dd 88 1e 9b ba 75 5c-2e e3 70 a7 af 55 94 e1 ......u..p..U..
0030 - f4 0f 13 f1 19 fa 23 0c-68 50 25 f3 0b 67 0a a6 ......#.hP%..g..
0040 - ca 88 0c db 76 79 aa ac-ca 68 49 88 7a 44 8e 11 ....vy...hI.zD..
0050 - 32 7b ba cf a3 41 eb 44-46 fe 9b e7 e7 35 04 6c 2{...A.DF....5.l
0060 - f8 e4 a8 20 37 d3 8b 68-61 c7 27 1c af ef 0d 20 ... 7..ha.'....
0070 - 9e 34 f3 c6 7b 60 52 78-ec 91 6b df e5 6d b7 c1 .4..{`Rx..k..m..
0080 - 05 b1 89 05 70 09 11 3c-39 f0 cf 4a 4f f9 3d cf ....p..<9..JO.=.
read R BLOCK
DONE
$ echo -n | openssl s_client -4 -connect files.pythonhosted.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = *.pythonhosted.org
verify return:1
Certificate chain
0 s:CN = *.pythonhosted.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Sep 27 20:45:08 2022 GMT; NotAfter: Oct 29 20:45:07 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
Server certificate
-----BEGIN CERTIFICATE-----
MIIGZTCCBU2gAwIBAgIQAZ4c9wIFnbcIOc8/IEfMpjANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA5
MjcyMDQ1MDhaFw0yMzEwMjkyMDQ1MDdaMB0xGzAZBgNVBAMMEioucHl0aG9uaG9z
dGVkLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALl3j65QPvfX
BoB9gTuN4eKkVYvGCyNClYI8A8ft8PMOwi6P9bWPEM/HZ9BxYtJ4J0EZS4M194fw
RrFSPVvvW/069fJQRlvEbITwrfXzQiMJm4RYXsJba8w1ZSzJgYapAY9UJoZpfv38
UKy2s2TuGUmvPfB49pDW+nM/EUZzchqI8JreZbmVadDvN0/tQQD/fYTIVUknvOc6
vcZLu3TJtJh2F38JzdE7Qs4ZFSrLRvHuKDkvB4jbxdnQWPDXajoZahSogVBA4Nd9
10ZIkgT9qhlMU0ibvUGnk0rBYqZwDBz4vupwy3jxXpRj449Dk3fvuELt9K95c0G0
8Q3piP3idIMCAwEAAaOCA2QwggNgMB0GA1UdEQQWMBSCEioucHl0aG9uaG9zdGVk
Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
BwMCMB0GA1UdDgQWBBR0s+V2OyE4ZP710vImlUquU3SFaTBXBgNVHSAEUDBOMAgG
BmeBDAECATBCBgorBgEEAaAyCgEDMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3
Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAwGA1UdEwEB/wQCMAAwgZ4GCCsG
AQUFBwEBBIGRMIGOMEAGCCsGAQUFBzABhjRodHRwOi8vb2NzcC5nbG9iYWxzaWdu
LmNvbS9jYS9nc2F0bGFzcjNkdnRsc2NhMjAyMnEzMEoGCCsGAQUFBzAChj5odHRw
Oi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2F0bGFzcjNkdnRsc2Nh
MjAyMnEzLmNydDAfBgNVHSMEGDAWgBT6kTljmvutECTlvrW52qvZxEZpqzBIBgNV
HR8EQTA/MD2gO6A5hjdodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRs
YXNyM2R2dGxzY2EyMDIycTMuY3JsMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYA
dgCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYOAsj7MAAAEAwBH
MEUCIQCybQLy9Y8o12xbBa8PhzYZcxDo2zOoAK0MRxg4QTSsfQIgP4e6Cn0vcaaH
0H1pDxWN34/uApdCuzHAiWUVg7U4m5UAdQBvU3asMfAxGdiZAKRRFf93FRwR2QLB
ACkGjbIImjfZEwAAAYOAsj7+AAAEAwBGMEQCIDZzj+k1Jef32bUI9hsp+irQiuqr
RGSHUDQbn/c5cLpCAiA3hBDoTkxFjDrQ9Wi7HA4jiJ1flZgWcLrK11mfBgrWUQB1
AFWB1MIWkDYBSuoLm1c8U/DA5Dh4cCUIFy+jqh0HE9MMAAABg4CyPzwAAAQDAEYw
RAIgI7eMacUECoJ2owTzl9TKlmxF2tU2NPtjR8QX/al51S0CIE8oMCXflS49ib8r
fWcoO+JcxTyB1oYrKB080ejzWHjKMA0GCSqGSIb3DQEBCwUAA4IBAQAtUfolQHsW
SplGDIzpSOnc0lDxMn0iBAHABoeRl38gqSe0ar9TlWUFRtQIdGN2qulGRqhZdMXs
j3XWRg8LP+z/O/oCKuEaXEhdEOZSYnDmKgYVaMAJvGIwrG+95LL03+ekmU3NcHGP
BDzsPtXkZhoDbcgetI5FUf+ER2JSzQ2luWRIAxfzXDpbB97eWTiCG6Lw98dVkruz
LUZBJzHKNbujAaFGC5Gw3+3+9K/71ZemoQqYXWF0NgGFG74MQoWs76a9pRG6YlLc
HeU+iS4IJyu67EQr1ATjRCXsCoJDpYhCxsIMyVNeI8R80lrN5ssY2aiP5HCPsDsD
Vy90vU5BC7cO
-----END CERTIFICATE-----
subject=CN = *.pythonhosted.org
issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3476 bytes and written 421 bytes
Verification: OK
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: 0A2272D1BDE71E02C05A1447701F8756DD1E5386636F7DA7C4A977A33F4D3F8A
Session-ID-ctx:
Master-Key: 4F37A56226B2DFFE6FBA8BBB03264F2C331B1F5ECB1C442D734AA07C913A4EAEFCB1F9C5148862F431EDD0F703031B37
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - 7f de a6 d6 1b d4 35 de-41 e8 4f d5 9d a1 8a 58 ......5.A.O....X
0020 - d3 2c 82 ea 25 da 9c 9a-6e 68 b7 07 e2 25 38 c0 .,..%...nh...%8.
0030 - 36 40 e7 f0 0b 0f ae 60-71 53 0c 47 13 e6 ab 82 6@.....`qS.G....
0040 - 39 f5 e7 22 5c e6 34 21-cc 14 c9 af 8e 14 fc 75 9..".4!.......u
0050 - 6e 22 b5 46 7c d3 f6 4a-fe 92 89 d6 f9 a7 ef 8a n".F|..J........
0060 - d8 54 d3 a8 f9 38 6d 04-88 5d dd 19 a6 e5 37 f1 .T...8m..]....7.
0070 - 49 b5 fd 5c 2a 13 d3 2c-85 27 0a d6 76 cf a7 a3 I..*..,.'..v...
0080 - f1 9b de 9d 87 f3 36 85-b4 93 d2 5e 06 9b 00 27 ......6....^...'
0090 - 46 7f 0e f1 fd 19 a2 3e-19 0a 2f ff 9d f3 90 b4 F......>../.....
00a0 - 04 6f 70 18 d6 94 70 2a-7b 93 a3 db 4e 85 05 e5 .op...p*{...N...
00b0 - a1 72 05 02 b7 a1 33 96-84 07 7b 72 ac ab fa fc .r....3...{r....
DONE
$ echo -n | openssl s_client -6 -connect pypi.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = pypi.org
verify return:1
Certificate chain
0 s:CN = pypi.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Jul 26 19:45:14 2022 GMT; NotAfter: Aug 27 19:45:13 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
Server certificate
-----BEGIN CERTIFICATE-----
MIIGfzCCBWegAwIBAgIQAe6p6b6zdP9u5myWWPuk2zANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA3
MjYxOTQ1MTRaFw0yMzA4MjcxOTQ1MTNaMBMxETAPBgNVBAMMCHB5cGkub3JnMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8o44EkMKZTdtsEtjJs1caeZE
n3YE0fNgO0H7PxbBoNsWFYtupoRz1FRdnQLThGOVg53Qo/nhBRQAxvsX4aOxk15N
PIC8Irz+XYahv4cL9lTa+oQkQINgyG7G4ohXKZDRpTnRZMOCh+VyYANq0Ou5G855
tZv1Q2iFtvxXzr2VGLZTSbqZCemaO0zBaVxSTOLrMbRDUmRh3nnCQIq61Agg+6oe
tT7OBmGQNyG998iA7/R4DcNrFFw1zM64c24v6xM+3Lq3yx6x6OCbFuxB6waJuBUh
eP8OUIlaPl6IYzKWPHZ8p5iKIfTYo4iGKAwdJF241sivWVXngxezS3M+kGSUdQID
AQABo4IDiDCCA4QwPgYDVR0RBDcwNYIIcHlwaS5vcmeCCioucHlwaS5vcmeCDHd3
dy5weXBpLm9yZ4IPZG9uYXRlLnB5cGkub3JnMA4GA1UdDwEB/wQEAwIFoDAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFEfow+xITtwxOc96
M4M5FTpT5iC1MFcGA1UdIARQME4wCAYGZ4EMAQIBMEIGCisGAQQBoDIKAQMwNDAy
BggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9y
eS8wDAYDVR0TAQH/BAIwADCBngYIKwYBBQUHAQEEgZEwgY4wQAYIKwYBBQUHMAGG
NGh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRsYXNyM2R2dGxzY2Ey
MDIycTMwSgYIKwYBBQUHMAKGPmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v
Y2FjZXJ0L2dzYXRsYXNyM2R2dGxzY2EyMDIycTMuY3J0MB8GA1UdIwQYMBaAFPqR
OWOa+60QJOW+tbnaq9nERmmrMEgGA1UdHwRBMD8wPaA7oDmGN2h0dHA6Ly9jcmwu
Z2xvYmFsc2lnbi5jb20vY2EvZ3NhdGxhc3IzZHZ0bHNjYTIwMjJxMy5jcmwwggF/
BgorBgEEAdZ5AgQCBIIBbwSCAWsBaQB2AK33vvp8/xDIi509nB4+GGq0Zyldz7EM
JMqFhjTr3IKKAAABgjwKxXoAAAQDAEcwRQIgS1S5S5j9RshJIiN7ohMvHQk+fRp/
TLACc1FuxFzukoMCIQC0kSLRxGVusXukcMXlu3VDzTyUvndArct7LrNOWX7JlAB2
ALNzdwfhhFD4Y4bWBancEQlKeS2xZwwLh9zwAw55NqWaAAABgjwKxfwAAAQDAEcw
RQIhAL//2NQ63lIVXHxrrS7jRyXmXUQvTPBtc2PYdvkCv15oAiAKIIX1AJ6GZmbn
coKYKkpxQYHFIS9s33UpweHQunIdCQB3AOg+0No+9QY1MudXKLyJa8kD08vREWvs
62nhd31tBr1uAAABgjwKxagAAAQDAEgwRgIhAJjY8dfyDTwnMdvkpQQecFFMgRIJ
/s3mdaYLbdh0IkRQAiEAjT5F9vfckv8llfCXjUzVBPSvqu3aLSXVklpkHHgGX4sw
DQYJKoZIhvcNAQELBQADggEBABk0SsR02kYtjwI1v9IId8htcmA+zyzqGOIWwvsj
10FGzi8BoRbmA7KiT+Yvh2CFuReOj8RNerv/BrS+PVgbHiwkh8GP2ETq8OPiXlUP
6hfSVyK5EMZBZ8Gn+JVCWrD6aUae7W53iFdZB1Bn1c4xTdBJy3eu/aYLtYHPH24p
3MQO24HcCGkn/LXGq005RMNdlTPJV/tymae2iUp5nGOy8MNkZq8xYHkK+YKue8mG
WvWdkdJ3fmYeKCXDVtvwKGk/1BQaS9lS50JLJTDJqAH957cvpyVnyOs41g19LwkZ
6MWFGfWo6Pem+d2GqZUs3faIFqmCS0lp7vHJ6e9nBuPi2do=
-----END CERTIFICATE-----
subject=CN = pypi.org
issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3387 bytes and written 378 bytes
Verification: OK
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_128_GCM_SHA256
Session-ID: 414170D85EB759D20200DE42DD966991BC3A07861FDB969073133222212F3183
Session-ID-ctx:
Resumption PSK: F6A678E5E372FF07AABF66082DD6B9BD6AB87862C470BCB64EF1BA02DBE2AB99
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 3600 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - 33 3b 12 55 bb 64 fc 6b-54 23 a4 85 77 60 f6 c1 3;.U.d.kT#..w`..
0020 - 1f 2a ea 42 7a fc c8 8f-08 61 36 3e 8a 08 d0 27 .*.Bz....a6>...'
0030 - 52 20 2b 52 25 5e 6f d0-d1 b3 38 46 79 ac d6 b9 R +R%^o...8Fy...
0040 - 71 ff 52 0c 61 d5 e5 5f-c3 ff 45 d1 ee ab 0c ff q.R.a.._..E.....
0050 - bc d8 53 72 2c e9 e6 e1-1f b5 22 5a b9 8f aa 99 ..Sr,....."Z....
0060 - 72 30 00 58 09 62 10 86-0b 5a 76 15 36 6b 66 f8 r0.X.b...Zv.6kf.
0070 - 69 20 b9 72 dc 21 c4 30-5e 15 cb 27 67 c8 4f 5c i .r.!.0^..'g.O
0080 - f9 b8 4f 30 d3 3f 35 83-c1 3a 79 a0 ed 3d fa 6e ..O0.?5..:y..=.n
read R BLOCK
DONE
$ echo -n | openssl s_client -6 -connect files.pythonhosted.org:443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
verify return:1
depth=0 CN = *.pythonhosted.org
verify return:1
Certificate chain
0 s:CN = *.pythonhosted.org
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Sep 27 20:45:08 2022 GMT; NotAfter: Oct 29 20:45:07 2023 GMT
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Apr 20 12:00:00 2022 GMT; NotAfter: Apr 20 00:00:00 2025 GMT
Server certificate
-----BEGIN CERTIFICATE-----
MIIGZTCCBU2gAwIBAgIQAZ4c9wIFnbcIOc8/IEfMpjANBgkqhkiG9w0BAQsFADBY
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE
AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMiBRMzAeFw0yMjA5
MjcyMDQ1MDhaFw0yMzEwMjkyMDQ1MDdaMB0xGzAZBgNVBAMMEioucHl0aG9uaG9z
dGVkLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALl3j65QPvfX
BoB9gTuN4eKkVYvGCyNClYI8A8ft8PMOwi6P9bWPEM/HZ9BxYtJ4J0EZS4M194fw
RrFSPVvvW/069fJQRlvEbITwrfXzQiMJm4RYXsJba8w1ZSzJgYapAY9UJoZpfv38
UKy2s2TuGUmvPfB49pDW+nM/EUZzchqI8JreZbmVadDvN0/tQQD/fYTIVUknvOc6
vcZLu3TJtJh2F38JzdE7Qs4ZFSrLRvHuKDkvB4jbxdnQWPDXajoZahSogVBA4Nd9
10ZIkgT9qhlMU0ibvUGnk0rBYqZwDBz4vupwy3jxXpRj449Dk3fvuELt9K95c0G0
8Q3piP3idIMCAwEAAaOCA2QwggNgMB0GA1UdEQQWMBSCEioucHl0aG9uaG9zdGVk
Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
BwMCMB0GA1UdDgQWBBR0s+V2OyE4ZP710vImlUquU3SFaTBXBgNVHSAEUDBOMAgG
BmeBDAECATBCBgorBgEEAaAyCgEDMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3
Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAwGA1UdEwEB/wQCMAAwgZ4GCCsG
AQUFBwEBBIGRMIGOMEAGCCsGAQUFBzABhjRodHRwOi8vb2NzcC5nbG9iYWxzaWdu
LmNvbS9jYS9nc2F0bGFzcjNkdnRsc2NhMjAyMnEzMEoGCCsGAQUFBzAChj5odHRw
Oi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2F0bGFzcjNkdnRsc2Nh
MjAyMnEzLmNydDAfBgNVHSMEGDAWgBT6kTljmvutECTlvrW52qvZxEZpqzBIBgNV
HR8EQTA/MD2gO6A5hjdodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRs
YXNyM2R2dGxzY2EyMDIycTMuY3JsMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYA
dgCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYOAsj7MAAAEAwBH
MEUCIQCybQLy9Y8o12xbBa8PhzYZcxDo2zOoAK0MRxg4QTSsfQIgP4e6Cn0vcaaH
0H1pDxWN34/uApdCuzHAiWUVg7U4m5UAdQBvU3asMfAxGdiZAKRRFf93FRwR2QLB
ACkGjbIImjfZEwAAAYOAsj7+AAAEAwBGMEQCIDZzj+k1Jef32bUI9hsp+irQiuqr
RGSHUDQbn/c5cLpCAiA3hBDoTkxFjDrQ9Wi7HA4jiJ1flZgWcLrK11mfBgrWUQB1
AFWB1MIWkDYBSuoLm1c8U/DA5Dh4cCUIFy+jqh0HE9MMAAABg4CyPzwAAAQDAEYw
RAIgI7eMacUECoJ2owTzl9TKlmxF2tU2NPtjR8QX/al51S0CIE8oMCXflS49ib8r
fWcoO+JcxTyB1oYrKB080ejzWHjKMA0GCSqGSIb3DQEBCwUAA4IBAQAtUfolQHsW
SplGDIzpSOnc0lDxMn0iBAHABoeRl38gqSe0ar9TlWUFRtQIdGN2qulGRqhZdMXs
j3XWRg8LP+z/O/oCKuEaXEhdEOZSYnDmKgYVaMAJvGIwrG+95LL03+ekmU3NcHGP
BDzsPtXkZhoDbcgetI5FUf+ER2JSzQ2luWRIAxfzXDpbB97eWTiCG6Lw98dVkruz
LUZBJzHKNbujAaFGC5Gw3+3+9K/71ZemoQqYXWF0NgGFG74MQoWs76a9pRG6YlLc
HeU+iS4IJyu67EQr1ATjRCXsCoJDpYhCxsIMyVNeI8R80lrN5ssY2aiP5HCPsDsD
Vy90vU5BC7cO
-----END CERTIFICATE-----
subject=CN = *.pythonhosted.org
issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
SSL handshake has read 3476 bytes and written 421 bytes
Verification: OK
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: 1FFF1FC6F7CEA8610944034CE1391D5B2B80E7CE3CEB34A569F965E52052504F
Session-ID-ctx:
Master-Key: A3724D2A5EE02C8CE7F0FB629CC8B6277D54D41247CBAA96FF710AA93DFA2683EDBFB907ACB584E684767405EF7CEE52
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 9f cb 33 69 6e 00 81 d2-e5 ea 6d fa ee c7 23 f7 ..3in.....m...#.
0010 - bb e6 0a 15 cb 27 ae 74-57 f7 bd 95 1d a3 e1 27 .....'.tW......'
0020 - de 64 16 30 6a 58 df 09-a5 cc 74 19 ac 28 e3 a6 .d.0jX....t..(..
0030 - 75 f0 d9 39 34 0e 9a 62-94 e3 ef b3 d1 d6 ca 4b u..94..b.......K
0040 - a1 d5 9b 1f ce 0e a2 9c-ed e3 75 f3 cc 4b b6 37 ..........u..K.7
0050 - 7d db a2 b2 97 64 e9 a5-3a e2 4f d9 44 cf cd 9d }....d..:.O.D...
0060 - 90 a3 82 94 8f 8a 24 ce-68 d7 c4 30 67 76 7d 71 ......$.h..0gv}q
0070 - 82 46 60 04 b4 23 5e 08-f6 62 b6 65 c5 8a 02 78 .F
..#^..b.e...x 0080 - f2 b4 2f cf 7d c7 4b 3a-22 59 c1 a8 ba 21 95 1a ../.}.K:"Y...!.. 0090 - 30 a8 5c 27 28 97 93 72-11 61 ee 35 f4 6c 4d d6 0.\'(..r.a.5.lM. 00a0 - 60 b6 9c 0c c3 8a c3 2b-0e 93 50 ae f3 b1 4d 0e
......+..P...M.00b0 - de d2 73 cc 5f 76 9e 94-ba 86 79 d2 2a 81 00 aa ..s._v....y.*...
DONE
The text was updated successfully, but these errors were encountered: