-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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
Introduce GPG operations #6184
Introduce GPG operations #6184
Conversation
+1 |
This is not compatible with The check against that case could go in |
I agree that GPG-related checks would be best implemented here. Incompatibility with |
My reading is that we fully agree re: The following issues came up on further review: Namespace clash with
|
As a non-rubyist, that catches me unprepared. I seem unable to reproduce the collision.
The nil check (which I failed to mention in the commit message) is currently delegated to the caller, i.e.
The warning you mention is very common, and I expect gpg users to be familiar with it. Nonetheless, it is desirable to keep an internal notion of success and failure for each gpg event. |
#6329 addresses the ability to retrieve the exit status when using
@command.run!('gpg', :args => args).stdout In addition, I hope that preserving the exit status will be helpful for tracking success of the verification. |
Addressed some of the concerns raised by review.
|
Add methods for cryptographic authentication of Cask packages with the GPG software suite. Homebrew Cask invokes the system-standard `gpg` binary to import keys to the GPG keychain, download signatures to versioned metadata folders, and verify packages. Homebrew Cask aborts if any step fails. GPG verification is not currently invoked during the audit or installation processes, and is intentionally left undocumented. Example usage: gpg = Cask::GpgCheck.new(cask) gpg.verify(package_archive_path) if gpg.available
A
Cask::GPG
class which covers the basics of gpg verification, relying on system gpg. Refer to #5971.