Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS packages and Windows MSIs are not signed #27694

Open
skade opened this issue Aug 12, 2015 · 28 comments
Open

macOS packages and Windows MSIs are not signed #27694

skade opened this issue Aug 12, 2015 · 28 comments
Labels
C-enhancement Category: An issue proposing an enhancement or a PR with one. O-macos Operating system: macOS O-windows Operating system: Windows P-medium Medium priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@skade
Copy link
Contributor

skade commented Aug 12, 2015

This possibly applies to other platforms as well.

screen shot 2015-08-12 at 14 35 56

Currently, the Rust installer comes up with this nice warning, making the user navigate to a settings pane and acknowledge to really start the installer. Administrators can also decide to completely deactivate this.

I think at least the official installers of Rust should be signed using an Apple Developer Certificate.

@sfackler sfackler added O-macos Operating system: macOS A-infrastructure labels Aug 12, 2015
@nagisa
Copy link
Member

nagisa commented Aug 12, 2015

This possibly applies to other platforms as well.

All our releases and their checksums, including OS X ones, are signed with PGP signature already.

I’m not disagreeing they could also be signed using whatever method Apple for their OSes, but I'm not convinced $100/$300 is a fair price for getting rid of this dialog. OTOH we probably could piggy back on the same account used to generate signatures for Firefox.

@skade
Copy link
Contributor Author

skade commented Aug 12, 2015

@nagisa If that is your issue, point me to a form where I can chip in 100$ yearly. Either we want to supply installers for their platform and then do it proper or we should just ship tarballs.

@skade
Copy link
Contributor Author

skade commented Aug 18, 2015

I think the same is true for the windows installer.

windows unsigned

(Code signing certs for windows cost > $300 upwards, FWIW)

@brson
Copy link
Contributor

brson commented Aug 27, 2015

cc @edunham

Seems totally fixable in the infinite expanse of time.

@skade
Copy link
Contributor Author

skade commented Aug 27, 2015

I would be willing to invest time on building the signing tooling, but obviously can't help with certificate handling.

@briansmith
Copy link
Contributor

Note that on Windows 8 and later (or, at least, Windows 8.1), Windows Safescreen makes it look like it is impossible to run the installer, and so the installation experience is terrible all around. Especially with the new MSVC port reaching Stable, it would be great to have a Good OOBE on Windows, at least for the Stable releases.

@rtoal
Copy link

rtoal commented Oct 26, 2015

I have the same problem on Chrome...
screen shot 2015-10-25 at 9 11 48 pm

@skade
Copy link
Contributor Author

skade commented Oct 26, 2015

@rtoal Just in case: you can, in the meantime, go to "Systems Settings" -> "Security and Privacy" and click the appropriate button to still start the installation process.

@skade
Copy link
Contributor Author

skade commented Oct 26, 2015

@brson this ticket needs A-windows as well, or should windows be split into a separate issue?

@rtoal
Copy link

rtoal commented Oct 26, 2015

@skade Thanks but I just used homebrew which also has 1.3.0. :)

@skade
Copy link
Contributor Author

skade commented Jul 1, 2016

I'd like to bump this again, also, Servo has the same issue and cannot be easily run on OS X, as it is unsigned.

@Manishearth
Copy link
Member

OTOH we probably could piggy back on the same account used to generate signatures for Firefox.

I doubt this would be accepted by the Firefox people. You want your private keys locked down, having two projects with independent infrastructure share a key sounds like a bad idea. I think both Rust and Servo can get their own. Not sure if it should be the same one.

@skade
Copy link
Contributor Author

skade commented Jul 1, 2016

For reference, here's the issue for windows. #25457

@brson
Copy link
Contributor

brson commented Jul 1, 2016

Agree this is something we should solve soon.

@alexcrichton alexcrichton added the P-low Low priority label Aug 22, 2016
@Mark-Simulacrum
Copy link
Member

@brson I don't think this has been solved for either macOS or Windows. Could you give an update on this?

@Mark-Simulacrum Mark-Simulacrum added the O-windows Operating system: Windows label Jun 22, 2017
@Mark-Simulacrum Mark-Simulacrum changed the title OS X package is not signed macOS packages and Windows MSIs are not signed Jun 22, 2017
@Mark-Simulacrum Mark-Simulacrum added T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. and removed A-infrastructure labels Jun 25, 2017
@Mark-Simulacrum Mark-Simulacrum added the C-enhancement Category: An issue proposing an enhancement or a PR with one. label Jul 22, 2017
@steveklabnik
Copy link
Member

Triage: not aware of any changes here.

@jasperweiss
Copy link

All our releases and their checksums, including OS X ones, are signed with PGP signature already.

Not as if anyone on Windows is going to install gpg4win just to check the signatures. This should be a higher priority IMO.

@skade
Copy link
Contributor Author

skade commented Nov 23, 2019

I'd like to bump this again, this - along with rustup-init.exe not being signed - is a substantial speed bump when using Rust on Windows. Windows 10 even hides the "Run anyways" button and makes it hard to find and shows a "Windows has protected your computer" message.

Can we also please remove the P-low label here, it is becoming more and more of an issue, the less we have a "hackers audience".

@skade
Copy link
Contributor Author

skade commented Nov 23, 2019

See rust-lang/rustup#1568 for updates, concerning rustup.

@jendakol
Copy link

Hello, Avast guy speaking here 😃

It's shown up that we as an antivirus company have also kinda problem with not-detecting Rust compilers.

The problem is that we need to have files that are signed by known-certificate and the signature is included in the file itself. Using the method required by macOS and Windows would also be good for us. Without that, we have a problem with non-detecting Rust compilers again and again when a new version is published - it'd have to be uploaded to us "manually" after every release. That's a valid solution, however, unpreferred.
To cite one of our malware analysts: The only signature that Avast (and Windows) is able to understand is pkcs7 signature.

Thanks for the great work and for solving this issue!

@pietroalbini pietroalbini removed the P-low Low priority label Oct 28, 2020
@pietroalbini pietroalbini added P-medium Medium priority and removed I-nominated labels Nov 4, 2020
@pietroalbini
Copy link
Member

We discussed this inside the infra team meeting, and we're going to start the technical work needed to ensure Rust packages are signed for Windows and macOS! Me and @Mark-Simulacrum are going to have a chat to think about an implementation plan soon.

Note that while we'll start the development work, actually turning it on in production will require the foundation to be up and running (to actually buy the certificates).

@jrmoulton

This comment was marked as duplicate.

@aidanhs
Copy link
Member

aidanhs commented Jun 8, 2021

@jrmoulton this issue is where progress will be tracked - if you haven't seen anything, it's because there (sadly) hasn't been any progress.

@asesh

This comment was marked as duplicate.

@raphaelokon

This comment was marked as duplicate.

@paulsavoie
Copy link

Hi, just wanted to drop that here, as the price of the code signing certificate was mentioned. At the SignPath Foundation (disclaimer: I work for SignPath.io), we provide free code signing for OSS projects. The certificate is issued to our foundation but can only be used to sign builds from the open source repository (we verify that technically). It would just require you to add a signing build step in your GitHub Actions workflows.

@asesh

This comment was marked as duplicate.

@Manishearth
Copy link
Member

Please refrain from bumping this issue with "I want this too" or "why hasn't this happened yet" or "any updated?" style comments.

This is the issue where this work is tracked. Any updates will be posted here. Whether or not this happens depends on the volunteers in the Rust project, especially the infra team, having time to prioritize and work on this.

Comments asking for things to speed up are not helpful and do not do anything to move the needle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: An issue proposing an enhancement or a PR with one. O-macos Operating system: macOS O-windows Operating system: Windows P-medium Medium priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests