mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-26 03:35:52 +03:00
[GH-ISSUE #128] Update key storage and generation to use PKCS#8 #62
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#62
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?
Originally created by @briansmith on GitHub (May 9, 2017).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/128
I would like to suggest the following:
This way, it would be much easier to switch between ring and OpenSSL. Note that PKCS#8 is the only really standardized file format for private keys, which is why I support it in ring and why I recommend people use it.
I suggest that we could do the ring update by basically dropping the current Ed25519 code and then adding it back using ring's PKCS#8 support, also adding RSA (and soon ECDSA) PKCS#8 support. Then we could do the same for OpenSSL as a separate step.
WDYT?
@bluejekyll commented on GitHub (May 9, 2017):
Yes, this sounds like a great plan. I had picked PKCS#12 mostly for compatibility with native-tls. I think the move to PKCS#8 sounds good. For obvious reasons, I was not happy with the raw storage. I did read some of your conversation on native-tls on this subject, so I'm already convinced.
On another note, I want to get passwords out of the config file as well, and prefer them specified in the environment. Though, at the end of the day, I don't know how much that will generally improve things.
@briansmith commented on GitHub (May 9, 2017):
If you think about a Docker/Kubernetes type environment, the admin probably wants to make the private key file itself the secret. In that case, it's superfluous to have a password to decrypt the private key file. In those environments, IIRC, the most important thing is that the configuration allows the private key file to be in a directory path completely separate from the rest of the configuration.
@bluejekyll commented on GitHub (May 9, 2017):
Yeah. I think that would be mostly accurate. Where the keys are attached via some 3rd party tool like Vault or something. I've been interested in, but have not yet started looking into, PKCS#11 support so that HSM's could be used as well.
In those situations, will the key be encrypted in PKCS#8, still requiring a password to decrypt?
@bluejekyll commented on GitHub (May 17, 2017):
fixed in #133