keeper-security / git-ssh-sign Goto Github PK
View Code? Open in Web Editor NEWGit SSH sign feature for Keeper Secrets Manager
License: MIT License
Git SSH sign feature for Keeper Secrets Manager
License: MIT License
Templates for issues and pull requests ensure that all required information is available for reviewers speeding up the collaboration and increasing the likelihood of success pull request.
As this replaces ssh-keygen
as the signing binary for the SSH signing workflow, the user should expect the outputs to be the same as if the default is used for a consistent experience.
git
itself also error checks against the first word in the output: https://github.com/git/git/blob/master/gpg-interface.c#L583
Hi ๐
For educational purpose, I'd like to know if you still had documentation about how git interacts with ssh-keygen to sign commits, unless you reverse-engineered the way git was doing it?
I can't seem to find any documentation about the steps git follows to sign commits with an SSH key, and I am really curious about how you knew what to build ๐
Currently a successful signing of the git
commit can only occur if both the private
and public
keys are available in the Keeper Record. As the public key
can always be derived from the private key
, then if no public key
is explicitly set in the Keeper record, then one will be automatically derived from private key
.
Can you achieve the same result doing it in an alternative way? Nope
No.
(Help can be provided if you need assistance submitting a PR)
[x] Yes [] No
These files outline expectations and set up contributors for success. Leading to a more positive and collaborative project.
If using the default ssh-keygen for signing commits, you can use it to verify commits locally with commands like:
git log --show-signature -1
As this project is a direct replacement for ssh-keygen with the benefit of using a key stored in the Keeper Vault, it should also verify commits locally.
When the user calls the binary directly, a panic error is shown.
panic: runtime error: index out of range [-1]
goroutine 1 [running]:
main.main()
/home/runner/work/git-ssh-sign/git-ssh-sign/cmd/ssh-sign/main.go:37 +0x2ac
This should be more elegant and feedback to the user this is a binary intended to be ran by git
itself, not the user.
Command line inputs should be appropriately parsed, and error handling should be added. It should return a non-zero exit status if:
git
-Y
) is not to sign
This is required before adding additional features such as supporting verification.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.