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

Refactor key handling #96

Merged
merged 3 commits into from
Aug 12, 2016
Merged

Refactor key handling #96

merged 3 commits into from
Aug 12, 2016

Conversation

titanous
Copy link
Contributor

@titanous titanous commented Aug 9, 2016

This is the first step towards supporting ECDSA keys and signing via PKCS11.

  • Remove unused RSA signature verifier.
  • Use golang.org/x/crypto/ed25519 package instead of github.com/agl/ed25519.
  • Don't mix private and public key structs, use a separate struct
    for private keys.
  • Only store public keys in database used for signature
    verification.
  • Use crypto.Signer interface instead of providing private keys
    directly when signing.
  • Don't make as many assumptions about using Ed25519 keys
    everywhere.
  • Ignore unknown key types when populating the public key database.

I've tested that keys generated with the previous implementation can be decoded and used by this refactored code (there is no change in the serialized data structures).

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
m.keys[role] = make([]*data.Key, 0)
func (m *memoryStore) SavePrivateKey(role string, key *signed.PrivateKey) error {
if _, ok := m.signers[role]; !ok {
m.signers[role] = make([]signed.Signer, 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the explicit make necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, it shouldn't be.

@lmars
Copy link
Contributor

lmars commented Aug 12, 2016

LGTM

- Don't mix private and public key structs, use a separate struct
  for private keys.
- Only store public keys in database used for signature
  verification.
- Use crypto.Signer interface instead of providing private keys
  directly when signing.
- Don't make as many assumptions about using Ed25519 keys
  everywhere.
- Ignore unknown key types when populating the public key database.

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
@titanous titanous merged commit d65801f into master Aug 12, 2016
@titanous titanous deleted the refactor-keys branch August 12, 2016 18:34
lebauce pushed a commit to lebauce/go-tuf that referenced this pull request Jul 26, 2021
rdimitrov pushed a commit to rdimitrov/go-tuf that referenced this pull request Jan 25, 2024
…eframework#96)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.17.0 to 0.18.0.
- [Commits](golang/crypto@v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
rdimitrov pushed a commit that referenced this pull request Jan 29, 2024
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.17.0 to 0.18.0.
- [Commits](golang/crypto@v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants