pypi / support

Issue tracker for support requests related to using https://pypi.org
93 stars 48 forks source link

RemoteDisconnected('Remote end closed connection without response') issue when uploading with twine #3183

Closed sensokame closed 11 months ago

sensokame commented 12 months ago

My Platform

Issue when using twine command line tool to upload a python package twine version 3.8.0 (colorama: 0.4.4, importlib-metadata: 4.6.4, keyring: 23.5.0, pkginfo: 1.8.2, readme-renderer: 34.0, requests-toolbelt: 0.9.1, requests: 2.28.1, rfc3986: 1.5.0, tqdm: 4.57.0, urllib3: 1.26.5)

Note that I think this is due to the large size of my package (about 103Mb) but no matter how many times I tried; I couldn't upload my package

Fastly Debug

DNS Resolution

$ dig pypi.org A
$ dig pypi.org AAAA
; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> pypi.org AAAA

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42840

;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 65494

;; QUESTION SECTION:

;pypi.org.          IN  AAAA

;; ANSWER SECTION:

pypi.org.       8321    IN  AAAA    2a04:4e42::223

pypi.org.       8321    IN  AAAA    2a04:4e42:200::223

pypi.org.       8321    IN  AAAA    2a04:4e42:400::223

pypi.org.       8321    IN  AAAA    2a04:4e42:600::223

;; Query time: 8 msec

;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)

;; WHEN: Fri Sep 15 16:33:16 CEST 2023

;; MSG SIZE  rcvd: 149
$ dig files.pythonhosted.org A
; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> files.pythonhosted.org A

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30341

;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 65494

;; QUESTION SECTION:

;files.pythonhosted.org.        IN  A

;; ANSWER SECTION:

files.pythonhosted.org. 19258   IN  CNAME   dualstack.m.sni.global.fastly.net.

dualstack.m.sni.global.fastly.net. 20 IN A  151.101.193.55

dualstack.m.sni.global.fastly.net. 20 IN A  151.101.1.55

dualstack.m.sni.global.fastly.net. 20 IN A  151.101.65.55

dualstack.m.sni.global.fastly.net. 20 IN A  151.101.129.55

;; Query time: 96 msec

;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)

;; WHEN: Fri Sep 15 16:33:35 CEST 2023

;; MSG SIZE  rcvd: 162
$ dig files.pythonhosted.org AAAA
; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> files.pythonhosted.org AAAA

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22677

;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 5

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 65494

;; QUESTION SECTION:

;files.pythonhosted.org.        IN  AAAA

;; ANSWER SECTION:

files.pythonhosted.org. 8   IN  CNAME   dualstack.m.sni.global.fastly.net.

dualstack.m.sni.global.fastly.net. 30 IN AAAA   2a04:4e42::311

dualstack.m.sni.global.fastly.net. 30 IN AAAA   2a04:4e42:400::311

dualstack.m.sni.global.fastly.net. 30 IN AAAA   2a04:4e42:600::311

dualstack.m.sni.global.fastly.net. 30 IN AAAA   2a04:4e42:200::311

;; ADDITIONAL SECTION:

dualstack.m.sni.global.fastly.net. 8 IN A   151.101.193.55

dualstack.m.sni.global.fastly.net. 8 IN A   151.101.1.55

dualstack.m.sni.global.fastly.net. 8 IN A   151.101.129.55

dualstack.m.sni.global.fastly.net. 8 IN A   151.101.65.55

;; Query time: 32 msec

;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)

;; WHEN: Fri Sep 15 16:33:46 CEST 2023

;; MSG SIZE  rcvd: 274

Traceroutes / IPv4

$ traceroute pypi.org
traceroute to pypi.org (151.101.128.223), 64 hops max

  1   10.0.2.2  0,669ms  0,341ms  0,347ms 

  2   10.0.2.2  9,692ms  2,640ms  7,078ms 
$ traceroute files.pythonhosted.org
traceroute to dualstack.m.sni.global.fastly.net (151.101.129.55), 64 hops max

  1   10.0.2.2  0,506ms  0,408ms  5,010ms 

  2   10.0.2.2  3,725ms  4,083ms  2,242ms 

Traceroutes / IPv6 (If available)

$ traceroute6 pypi.org
$ traceroute6 files.pythonhosted.org

HTTPS Requests / IPv4

$ curl -vvv -I --ipv4 https://pypi.org/pypi/pip/json
*   Trying 151.101.0.223:443...

* Connected to pypi.org (151.101.0.223) port 443 (#0)

* ALPN, offering h2

* ALPN, offering http/1.1

*  CAfile: /etc/ssl/certs/ca-certificates.crt

*  CApath: /etc/ssl/certs

* TLSv1.0 (OUT), TLS header, Certificate Status (22):

* TLSv1.3 (OUT), TLS handshake, Client hello (1):

* TLSv1.2 (IN), TLS header, Certificate Status (22):

* TLSv1.3 (IN), TLS handshake, Server hello (2):

* TLSv1.2 (IN), TLS header, Finished (20):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Certificate (11):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, CERT verify (15):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Finished (20):

* TLSv1.2 (OUT), TLS header, Finished (20):

* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.3 (OUT), TLS handshake, Finished (20):

* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384

* ALPN, server accepted to use h2

* Server certificate:

*  subject: CN=pypi.org

*  start date: Apr 29 19:53:38 2023 GMT

*  expire date: May 30 19:53:37 2024 GMT

*  subjectAltName: host "pypi.org" matched cert's "pypi.org"

*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Atlas R3 DV TLS CA 2023 Q2

*  SSL certificate verify ok.

* Using HTTP2, server supports multiplexing

* Connection state changed (HTTP/2 confirmed)

* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* Using Stream ID: 1 (easy handle 0x5610bf923e90)

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

> HEAD /pypi/pip/json HTTP/2

> Host: pypi.org

> user-agent: curl/7.81.0

> accept: */*

> 

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

< HTTP/2 200 

HTTP/2 200 

< content-type: application/json

content-type: application/json

< access-control-allow-origin: *

access-control-allow-origin: *

< 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-max-age: 86400

access-control-max-age: 86400

< access-control-expose-headers: X-PyPI-Last-Serial

access-control-expose-headers: X-PyPI-Last-Serial

< x-pypi-last-serial: 18994017

x-pypi-last-serial: 18994017

< cache-control: max-age=900, public

cache-control: max-age=900, public

< etag: "ewK3r9bIDWlyhuLy5JmdTQ"

etag: "ewK3r9bIDWlyhuLy5JmdTQ"

< 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://pypi-camo.global.ssl.fastly.net/ 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://pypi-camo.global.ssl.fastly.net/ 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

< referrer-policy: origin-when-cross-origin

referrer-policy: origin-when-cross-origin

< accept-ranges: bytes

accept-ranges: bytes

< date: Fri, 15 Sep 2023 15:05:07 GMT

date: Fri, 15 Sep 2023 15:05:07 GMT

< x-served-by: cache-iad-kcgs7200098-IAD, cache-fra-eddf8230099-FRA

x-served-by: cache-iad-kcgs7200098-IAD, cache-fra-eddf8230099-FRA

< x-cache: HIT, HIT

x-cache: HIT, HIT

< x-cache-hits: 82589, 1

x-cache-hits: 82589, 1

< x-timer: S1694790308.767263,VS0,VE2

x-timer: S1694790308.767263,VS0,VE2

< vary: Accept-Encoding

vary: 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

< permissions-policy: publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()

permissions-policy: publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()

< content-length: 177007

content-length: 177007

< 

* Connection #0 to host pypi.org left intact
$ curl -vvv -I --ipv4 https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
1a57446f08259dee8f02/pip-10.0.1.tar.gz

*   Trying 151.101.65.55:443...

* Connected to files.pythonhosted.org (151.101.65.55) port 443 (#0)

* ALPN, offering h2

* ALPN, offering http/1.1

*  CAfile: /etc/ssl/certs/ca-certificates.crt

*  CApath: /etc/ssl/certs

* TLSv1.0 (OUT), TLS header, Certificate Status (22):

* TLSv1.3 (OUT), TLS handshake, Client hello (1):

* TLSv1.2 (IN), TLS header, Certificate Status (22):

* TLSv1.3 (IN), TLS handshake, Server hello (2):

* TLSv1.2 (IN), TLS header, Finished (20):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Certificate (11):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, CERT verify (15):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Finished (20):

* TLSv1.2 (OUT), TLS header, Finished (20):

* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.3 (OUT), TLS handshake, Finished (20):

* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384

* ALPN, server accepted to use h2

* Server certificate:

*  subject: CN=*.pythonhosted.org

*  start date: Jul  1 20:50:25 2023 GMT

*  expire date: Aug  1 20:50:24 2024 GMT

*  subjectAltName: host "files.pythonhosted.org" matched cert's "*.pythonhosted.org"

*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Atlas R3 DV TLS CA 2023 Q2

*  SSL certificate verify ok.

* Using HTTP2, server supports multiplexing

* Connection state changed (HTTP/2 confirmed)

* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* Using Stream ID: 1 (easy handle 0x564a884b5e90)

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

> HEAD /packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz HTTP/2

> Host: files.pythonhosted.org

> user-agent: curl/7.81.0

> accept: */*

> 

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

< 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: 07fa618f9e7cab92

x-amz-request-id: 07fa618f9e7cab92

< x-amz-id-2: aN5djAjFrNv5m3TG5MEhkLWYtY+kwcjhZ

x-amz-id-2: aN5djAjFrNv5m3TG5MEhkLWYtY+kwcjhZ

< 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: Fri, 15 Sep 2023 15:05:31 GMT

date: Fri, 15 Sep 2023 15:05:31 GMT

< age: 408687

age: 408687

< x-served-by: cache-iad-kcgs7200149-IAD, cache-fra-eddf8230045-FRA

x-served-by: cache-iad-kcgs7200149-IAD, cache-fra-eddf8230045-FRA

< x-cache: HIT, HIT

x-cache: HIT, HIT

< x-cache-hits: 45, 1

x-cache-hits: 45, 1

< x-timer: S1694790331.008799,VS0,VE3

x-timer: S1694790331.008799,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

< 

* Connection #0 to host files.pythonhosted.org left intact

HTTPS Requests / IPv6 (If available)

$ curl -vvv -I --ipv6 https://pypi.org/pypi/pip/json
$ curl -vvv -I --ipv6 https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz

TLS Debug / IPv4

$ 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 2023 Q2

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 2023 Q2

   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256

   v:NotBefore: Apr 29 19:53:38 2023 GMT; NotAfter: May 30 19:53:37 2024 GMT

 1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2023 Q2

   i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign

   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256

   v:NotBefore: Jan 18 03:36:52 2023 GMT; NotAfter: Jan 18 00:00:00 2025 GMT

---

Server certificate

-----BEGIN CERTIFICATE-----

MIIGfzCCBWegAwIBAgIQATphpUBWfreAY2OTrbDywTANBgkqhkiG9w0BAQsFADBY

MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEuMCwGA1UE

AxMlR2xvYmFsU2lnbiBBdGxhcyBSMyBEViBUTFMgQ0EgMjAyMyBRMjAeFw0yMzA0

MjkxOTUzMzhaFw0yNDA1MzAxOTUzMzdaMBMxETAPBgNVBAMMCHB5cGkub3JnMIIB

IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsVzK0dZ2ALTL74lfSb8xvcqO

eEP1opP9RNEQXhsEAs5sI8hYBP/j8IJO4cBZN/585CTJ8SAMxXon7IC0FvXnhefc

bE0kyHQf1cchLuqi2cArNUCZd7kIwYCpIpDvYLTlcJP1ClwwlUdDfobcMMLlot14

NBY11KT1iuNdujm83xF4LvHZu1dNTNMkU0Qnzl26tVKzewC29nEELWwz0Navusc/

5RVUI8bWrY2ZEJyeJvbs6aHcNbPdhfb8JP8pzheLNDL0VjWnxJnIDWttprck5FJM

lueKFjrx4vGB8kWfFpLkOSoq4/VW75FvR78Zx2Bj8BroMnbUiQ/NLhlBFHCscQID

AQABo4IDiDCCA4QwPgYDVR0RBDcwNYIIcHlwaS5vcmeCCioucHlwaS5vcmeCDHd3

dy5weXBpLm9yZ4IPZG9uYXRlLnB5cGkub3JnMA4GA1UdDwEB/wQEAwIFoDAdBgNV

HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFH5KpEjjaz1tMuya

qyjnyKenhRycMFcGA1UdIARQME4wCAYGZ4EMAQIBMEIGCisGAQQBoDIKAQMwNDAy

BggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9y

eS8wDAYDVR0TAQH/BAIwADCBngYIKwYBBQUHAQEEgZEwgY4wQAYIKwYBBQUHMAGG

NGh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzYXRsYXNyM2R2dGxzY2Ey

MDIzcTIwSgYIKwYBBQUHMAKGPmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v

Y2FjZXJ0L2dzYXRsYXNyM2R2dGxzY2EyMDIzcTIuY3J0MB8GA1UdIwQYMBaAFMai

YRNFFcyQj7rBrLzMOw0O0N4GMEgGA1UdHwRBMD8wPaA7oDmGN2h0dHA6Ly9jcmwu

Z2xvYmFsc2lnbi5jb20vY2EvZ3NhdGxhc3IzZHZ0bHNjYTIwMjNxMi5jcmwwggF/

BgorBgEEAdZ5AgQCBIIBbwSCAWsBaQB2AHb/iD8KtvuVUcJhzPWHujS0pM27Kdxo

Qgqf5mdMWjp0AAABh86UAM4AAAQDAEcwRQIhAMEeNv9F3vkrUFb8UDUnBgcJ2ed2

u0Y2h4qXuv4SyBcCAiAdoR3AfpZboQtcbZ4F5kfLAIaEZ48avbJTJGrTg0Z0dwB2

ADtTd3U+LbmAToswWwb+QDtn2E/D9Me9AA0tcm/h+tQXAAABh86UAXkAAAQDAEcw

RQIhAL+PCGdwFgr/6mjPltxIkO2pSZ6eDY2sv8n+cW5hXCmzAiAL3XKCZqwJGJXE

kvt1ZJkMoqLzAy5CM2ANzSIXQni6wgB3AHPZnokbTJZ4oCB9R53mssYc0FFecRkq

jGuAEHrBd3K1AAABh86UAcgAAAQDAEgwRgIhALbbX2nIHt3iNRL+nMyqN0CUwxDz

BaSjdQhfBDPciwKbAiEAov0IJaslITt1Mxtyh4Ped9ZOkST5A0K0/Fdbk64zI+sw

DQYJKoZIhvcNAQELBQADggEBAGodVH7XXcayedVPuAMF5agiOBVJp7evMWz2R8xK

ON0jovv1oItNrXvt3tVWvPUl4Dm/AIbCrAHw/d1cz1loot8Nv2tRI8vRpBZ6bnnQ

wWKVlJmz3BRr42wV5HMiLjk0cUFgL+BDcoqpcEKUXsuNgTaevvLkx38Oo8b4Y9PT

CBkcuiqBfqViBAHB9mUcJCtpXW5waX+DwvbkkTULNTdYq5CZLENSPa2H22r/V0SI

gu08iGpOOdMJaaFBQp35ECW+UTdYSa+9tMx+B3GzpgxXVcW/P/ZCKcThequGVDbr

7hy8HRcXVP/+ejef0co8/E9MR5/EYrICq5M7JWJunSDgFP8=

-----END CERTIFICATE-----

subject=CN = pypi.org

issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Atlas R3 DV TLS CA 2023 Q2

---

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 3403 bytes and written 390 bytes

Verification: OK

---

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384

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_256_GCM_SHA384

    Session-ID: A92AEE169757E18DE76708727AF27699624C4CED3502EFD11D1D98523A5CC0ED

    Session-ID-ctx: 

    Resumption PSK: A9CD7EED136E74471F1A031F6DF730D1AF260234CE21E087854D0D677BC03DAE97FC2A6BC204102E17C4627EE71DD5E3

    PSK identity: None

    PSK identity hint: None

    SRP username: None

    TLS session ticket lifetime hint: 3600 (seconds)

    TLS session ticket:

    0000 - 3f b9 a4 32 66 c3 78 50-0b 48 5e 62 64 35 d6 74   ?..2f.xP.H^bd5.t

    0010 - f8 ea b8 6b 60 1b e2 07-ee f6 80 6b 09 fe e5 90   ...k`......k....

    0020 - f4 a6 60 54 8b cb 0c e8-50 50 60 0f ec f5 2a e8   ..`T....PP`...*.

    0030 - 0a 7c 99 da 83 8f af d4-55 58 32 52 1b ed e1 94   .|......UX2R....

    0040 - 7a b5 b2 dd 05 8d 6d 86-3c 4b 48 77 78 04 08 2e   z.....m.<KHwx...

    0050 - 39 38 91 18 50 dc f2 d5-f4 11 d0 45 14 24 4e db   98..P......E.$N.

    0060 - bb 10 d4 eb 88 b8 c5 c2-16 4c c6 eb 76 bd eb 56   .........L..v..V

    0070 - ff 15 e5 8e 07 e3 f9 ac-81 4e d8 4c 25 c5 fd f7   .........N.L%...

    0080 - d0 91 48 49 a2 2e 01 5c-8b f4 ac 49 94 13 ee a6   ..HI...\...I....

    0090 - 65 41 6c 93 62 4b 52 8d-e2 86 97 7b 5c 06 7b a0   eAl.bKR....{\.{.

    00a0 - 39 d6 8a b7 ef 42 d2 f7-d3 fd b3 25 a5 87 30 ee   9....B.....%..0.

    Start Time: 1694790352

    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 2023 Q2

verify return:1

depth=0 CN = *.pythonhosted.org

verify return:1

---

Certificate chain

 0 s:CN = *.pythonhosted.org

   i:C = BE, O

TLS Debug / IPv6 (If available)

$ echo -n | openssl s_client -6 -connect pypi.org:443
$ echo -n | openssl s_client -6 -connect files.pythonhosted.org:443

Code of Conduct

sensokame commented 11 months ago

issue seems to have been resolved over the weekend, closing the issue; thank you guys