mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 19:25:56 +03:00
[PR #2558] [MERGED] proto: replace KeyPair with SigningKey trait #3139
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#3139
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/hickory-dns/hickory-dns/pull/2558
Author: @djc
Created: 11/6/2024
Status: ✅ Merged
Merged: 11/8/2024
Merged by: @djc
Base:
main← Head:signing-key📝 Commits (10+)
f9df2efproto: remove deprecated KeyFormat::encode_key() methodf826fd0proto: detach decode_key() from KeyFormatd4b2767proto: define SigningKey traitb3bb37cproto: take reference to keys in PublicKeyBuf constructors163238aproto: yield trait object from decode_key()f788619proto: rework DNSSEC tests to avoid generic encodinga6f3ef7proto: replace KeyPair:ED25519 variant with Ed25519SigningKeya464badproto: replace KeyPair::ECDSA variant with EcdsaSigningKey1d22036proto: replace KeyPair::EC variant with EcSigningKey1b9b1a3proto: replace remaining KeyPair usage with RsaSigningKey📊 Changes
12 files changed (+568 additions, -683 deletions)
View changed files
📝
bin/src/dnssec.rs(+2 -3)📝
bin/tests/integration/named_test_rsa_dnssec.rs(+3 -4)📝
crates/proto/src/rr/dnssec/key_format.rs(+28 -326)📝
crates/proto/src/rr/dnssec/keypair.rs(+485 -296)📝
crates/proto/src/rr/dnssec/mod.rs(+6 -4)📝
crates/proto/src/rr/dnssec/public_key.rs(+2 -2)📝
crates/proto/src/rr/dnssec/signer.rs(+21 -27)📝
tests/compatibility-tests/tests/integration/sig0_tests.rs(+10 -5)📝
tests/integration-tests/src/example_authority.rs(+3 -4)📝
tests/integration-tests/tests/integration/client_future_tests.rs(+3 -5)📝
tests/integration-tests/tests/integration/client_tests.rs(+3 -5)📝
util/src/bin/pem-to-public-dnskey.rs(+2 -2)📄 Description
The
KeyPairtype was a mess of special cases trying to abstract over very different OpenSSL and ring APIs. Instead, use a small trait to abstract over the common core API and leave the remainder of the API to backend-specific types.Next steps:
SigningKeys (andPublicKeys) aware of their ownAlgorithm🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.