News for hackers. Stuff that matters.
Re:Removing PGP from PyPI – The Python Package Index by westurner on Tuesday May 23, 2023 @11:06AM (#36045364)
Where does the user specify the cryptographic key to sign a package before uploading?

Serverside TUF keys are implemented FWICS, but clientside digital publisher signatures (like e.g. MS Windows .exe's have had when you view the "Properties" of the file for many years now) are not yet implemented.

Hopefully I'm just out of date.

Re:Removing PGP from PyPI – The Python Package Index by woodruffw on Tuesday May 23, 2023 @11:15AM (#36045490)
> Where does the user specify the cryptographic key to sign a package before uploading?

With Sigstore, they perform an OIDC flow against an identity provider: that results in a verifiable identity credential, which is then bound to a short-lived (~15m) signing key that produces the signatures. That signing key is simultaneously attested through a traditional X.509 PKI (it gets a certificate, that certificate is uploaded to an append-only transparency log, etc.).

So: in the normal flow, the user never directly specifies the cryptographic key -- the scheme ensures that they have a strong, ephemeral one generated for them on the spot (and only on their client device, in RAM). That key gets bound to their long-lived identity, so verifiers don't need to know which key they're verifying; they only need to determine whether they trust the identity itself (which can be an email address, a GitHub repository, etc.).

Re:Removing PGP from PyPI – The Python Package Index by westurner on Tuesday May 23, 2023 @03:54PM (#36049986)
What command(s) do I pass to pip/twine/build_pyproject.toml to build, upload, and install a package with a key/cert that users should trust for e.g. psf/requests?