HN user

di

1,555 karma
Posts57
Comments111
View on HN
blog.pypi.org 23h ago

Planned Updates to the PyPI User Interface

di
7pts0
www.bloomberg.com 1mo ago

Alphabet to Raise $80B in Equity Capital for Al Spending

di
5pts1
pyfound.blogspot.com 6mo ago

Departing the Python Software Foundation (Staff)

di
4pts0
github.blog 9mo ago

Strengthening NPM security: Important changes to authentication and tokens

di
1pts0
www.stefanjudis.com 2y ago

New in CSS: Relative Colors

di
18pts0
security.googleblog.com 2y ago

AI-Powered Fuzzing: Breaking the Bug Hunting Barrier

di
3pts0
devblogs.microsoft.com 3y ago

Python Package Management Proposal from Microsoft

di
3pts1
pyfound.blogspot.com 3y ago

Python Software Foundation announces new Security Developer in Residence hire

di
2pts0
en.wikipedia.org 3y ago

The Thing

di
12pts0
en.wikipedia.org 3y ago

Wildcat Strike

di
3pts0
www.hsgac.senate.gov 3y ago

'Securing Open Source Software Act' introduced to US Senate

di
243pts182
www.b-list.org 4y ago

Yes, I have opinions on your open source contributions

di
104pts111
openssf.org 4y ago

OpenSSF Funds Python and Eclipse Foundations

di
2pts0
blog.google 4y ago

Shared success in building a safer open-source community

di
14pts9
pyfound.blogspot.com 4y ago

Python Software Foundation Welcomes New Executive Director Deb Nicholson

di
1pts0
en.wikipedia.org 4y ago

The Bradley Trainer

di
2pts0
en.wikipedia.org 4y ago

Black Start

di
2pts0
www.businesswire.com 4y ago

Rust Foundation Taps Rebecca Rumbul as Executive Director and CEO

di
5pts0
github.com 4y ago

Moving and Building Container Images, the Right Way

di
2pts1
lukasz.langa.pl 5y ago

Łukasz Langa Is the New CPython Developer in Residence

di
19pts6
pyfound.blogspot.com 5y ago

Łukasz Langa Is the Inaugural CPython Developer-in-Residence

di
3pts0
www.nytimes.com 5y ago

Much of Ransom Paid in Pipeline Cyberattack Is Recovered, Justice Dept. Says

di
3pts2
dustingram.com 5y ago

What does it take to power the Python Package Index?

di
2pts0
github.com 5y ago

Signing Git Commits – Three Ways

di
5pts0
dealwhisperers.blogspot.com 5y ago

A Million-Dollar Coffee Cup

di
1pts0
www.lesswrong.com 5y ago

Making Vaccine

di
536pts363
pip.pypa.io 5y ago

Changes to the pip dependency resolver in 20.3

di
76pts29
aphyr.com 5y ago

Unifying the Technical Interview

di
233pts42
github.com 6y ago

Guidance for changing the default branch name for GitHub repositories

di
2pts0
alexgaynor.net 6y ago

On Safety Critical Software

di
71pts24

That article is about the packaging summit talk on introducing namespaces, not about organizations. In fact, when talking about organizations, it explicitly says:

But support for namespaces is not part of the new feature.

That's the point of the certificate authority and transparency log: it makes the public key known by publicly binding it to a verifiable identity.

A hash verifies integrity, but has no way to demonstrate any relationship to a signing identity. Signing is not just about integrity, but also being able to say _who_ generated the signature.

Nope. The private key is generated within the client each time a signing event occurs, and that's what is used to sign the artifact. It doesn't come from the certificate.

The certificate just binds the public key to the identity at a given point in time, in a public way. This certificate is generated every time you sign something, and is put in the transparency log.

There's a walkthrough of the process here that might be helpful: https://www.youtube.com/watch?v=jdf-gNYg0fw&t=494s

The certificate specifically demonstrates that the <release-manager>@python.org identity signed the artifact.

So there's a) no long-lived private key for them to lose (because it's never stored after signing) and b) a consumer doesn't need to find the right key PGP ID, verify (somehow) that that key ID is associated with a given release manager -- they can just trust that the release manager is in control of their @python.org identity.

Additionally, with PGP, you have no idea if your private key is being used somewhere else to generate valid signatures maliciously. With Sigstore, in order for the signature to be valid, it must be published in a transparency log, which is continuously monitored. So in the event of if the key/identity is compromised, the identity owner can be made aware immediately and the signature revoked.

More details are here: https://www.python.org/download/sigstore/ and here: https://docs.sigstore.dev/

Anyone can generate a hash. Signing with a private key means that only the owner of that private key was able to generate a given signature. Singing with a private key which was bound to a known identity via a signing certificate proves that only that identity was in possession of the signing key, during a very short window.

In this specific case, we can say that the artifacts in question were verifiably signed by owner of the <release-manager>@python.org identity.

Quite the opposite: keys are generated once per signing event, and the private key never leaves memory.

Here's what it looks like:

    $ traceroute cv6.poinsignon.org
    traceroute to cv6.poinsignon.org (2001:bc8:3eff:c0::ff), 30 hops max, 80 byte packets
     1  gateway  0.795 ms  0.789 ms
    [...]
     8  hello (2001:bc8:3eff:c0::1)  1.431 ms  1.202 ms
     9  My.name.is.Louis.Poinsignon (2001:bc8:3eff:c0::2)  1.649 ms  1.274 ms
    10  I.am.a.network.and.systems.Engineer (2001:bc8:3eff:c0::3)  1.695 ms  2.090 ms
    11  This.is.my.resume.over.traceroute (2001:bc8:3eff:c0::4)  1.698 ms  1.793 ms
    12  o---Experience---o (2001:bc8:3eff:c0:ee::)  1.829 ms  2.052 ms
    13  2018.Cloudflare.NetworkEngineer.SF (2001:bc8:3eff:c0:ee::cf3)  2.261 ms  2.155 ms
    14  2017.Cloudflare.NetworkEngineer.London (2001:bc8:3eff:c0:ee::cf2)  2.293 ms  1.284 ms
    15  2016.Cloudflare.NetworkEngineer.Intern.SF (2001:bc8:3eff:c0:ee::cf1)  1.136 ms  1.205 ms
    16  2015.CEA.SoftwareEngineer.Intern.France (2001:bc8:3eff:c0:ee::cea)  1.204 ms  1.226 ms
    17  o---Education---o (2001:bc8:3eff:c0:ed::)  1.360 ms  1.607 ms
    18  2015-2016.DrexelUni.Exchange.CE.Philadelphia (2001:bc8:3eff:c0:ed::1)  1.237 ms  1.312 ms
    19  2011-2016.UTT.Master.CE.France (2001:bc8:3eff:c0:ed::2)  1.492 ms  1.604 ms
    20  o---Skills---o (2001:bc8:3eff:c0:51::)  1.565 ms  1.418 ms
    21  C.Java.Python.Golang (2001:bc8:3eff:c0:51::1)  1.364 ms  1.536 ms
    22  Net.Linux.Automation (2001:bc8:3eff:c0:51::2)  1.381 ms  1.266 ms
    23  Statistics.Maths.Photoshop (2001:bc8:3eff:c0:51::3)  1.504 ms  1.431 ms
    24  o---Various---o (2001:bc8:3eff:c0:7a::)  1.461 ms  1.519 ms
    25  Swimming.and.karate (2001:bc8:3eff:c0:7a::1)  1.378 ms  1.473 ms
    26  Piano (2001:bc8:3eff:c0:7a::2)  1.552 ms  1.683 ms
    27  o---Contact---o (2001:bc8:3eff:c0:c0::)  1.551 ms  1.486 ms
    28  mail.jobs.at.poinsignon.org (2001:bc8:3eff:c0:c0::1)  1.576 ms  1.473 ms

From https://github.com/psf/requests/issues/6140:

The domain is still owned by Kenneth and the maintainers haven't had access to it in quite some time.

and:

For those looking for alternatives, https://requests.readthedocs.io/en/latest/ should be returning docs correctly again. This has been the "official" location for some time as we lack controls on the python-requests domains. I'll update again once we receive a response from Kenneth.