crypto icon indicating copy to clipboard operation
crypto copied to clipboard

ssh: sign and verify

Open caarlos0 opened this issue 8 months ago • 4 comments

Initial implementation of proposal of SSHSIG closes golang/go#68197

Want to make sure the API is all right before adding more tests. Also seeking feedback on how to best test this - is it OK to sign and verify in the same test, or do you have other ideas? Maybe a fixed rand reader?

caarlos0 avatar Mar 20 '25 19:03 caarlos0

This PR (HEAD: 40fe82dd956cf77ace0f2a270747689e34566783) has been imported to Gerrit for code review.

Please visit Gerrit at https://go-review.googlesource.com/c/crypto/+/659715.

Important tips:

  • Don't comment on this PR. All discussion takes place in Gerrit.
  • You need a Gmail or other Google account to log in to Gerrit.
  • To change your code in response to feedback:
    • Push a new commit to the branch used by your GitHub PR.
    • A new "patch set" will then appear in Gerrit.
    • Respond to each comment by marking as Done in Gerrit if implemented as suggested. You can alternatively write a reply.
    • Critical: you must click the blue Reply button near the top to publish your Gerrit responses.
    • Multiple commits in the PR will be squashed by GerritBot.
  • The title and description of the GitHub PR are used to construct the final commit message.
    • Edit these as needed via the GitHub web interface (not via Gerrit or git).
    • You should word wrap the PR description at ~76 characters unless you need longer lines (e.g., for tables or URLs).
  • See the Sending a change via GitHub and Reviews sections of the Contribution Guide as well as the FAQ for details.

gopherbot avatar Mar 20 '25 19:03 gopherbot

PS, usage would be something like this:

const ns = "my@namespace"
const data = "the data to be signed"

// to sign:
signer, _ := ssh.ParsePrivateKey(keypem)
signature, _ := ssh.Sign(signer, rand.Reader, []byte(data), ns)

// to verify:
pub, _ := ssh.ParsePublicKey(pubkeypem)
block, _ := pem.Decode(signature)
err := ssh.Verify(pub, []byte(data), block.Bytes, ns)

caarlos0 avatar Mar 20 '25 19:03 caarlos0

Message from Gopher Robot:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/659715. After addressing review feedback, remember to publish your drafts!

gopherbot avatar Mar 20 '25 19:03 gopherbot