c9d678a91a
Update the on-disk format for the root key so that it's wrapped with a unique per-key/per-server key encryption key. This is a bit of security theatre for the current implementation, but it uses `go-kms-wrapping` as the interface for wrapping the key. This provides a shim for future support of external KMS such as cloud provider APIs or Vault transit encryption. * Removes the JSON serialization extension we had on the `RootKey` struct; this struct is now only used for key replication and not for disk serialization, so we don't need this helper. * Creates a helper for generating cryptographically random slices of bytes that properly accounts for short reads from the source. * No observable functional changes outside of the on-disk format, so there are no test updates. |
||
---|---|---|
.. | ||
config | ||
acl.go | ||
acl_test.go | ||
alloc.go | ||
alloc_test.go | ||
batch_future.go | ||
batch_future_test.go | ||
bitmap.go | ||
bitmap_test.go | ||
check_test.go | ||
checks.go | ||
connect.go | ||
connect_test.go | ||
consul.go | ||
consul_oss.go | ||
consul_oss_test.go | ||
consul_test.go | ||
csi.go | ||
csi_test.go | ||
devices.go | ||
devices_test.go | ||
diff.go | ||
diff_test.go | ||
encoding.go | ||
errors.go | ||
errors_test.go | ||
eval.go | ||
event.go | ||
extensions.go | ||
funcs.go | ||
funcs_test.go | ||
generate.sh | ||
handlers.go | ||
job.go | ||
job_test.go | ||
keyring.go | ||
network.go | ||
network_test.go | ||
node.go | ||
node_class.go | ||
node_class_test.go | ||
node_test.go | ||
operator.go | ||
search.go | ||
service_identities.go | ||
service_registration.go | ||
service_registration_test.go | ||
services.go | ||
services_test.go | ||
streaming_rpc.go | ||
structs.go | ||
structs_codegen.go | ||
structs_oss.go | ||
structs_periodic_test.go | ||
structs_test.go | ||
testing.go | ||
uuid.go | ||
variables.go | ||
variables_test.go | ||
vault.go | ||
volume_test.go | ||
volumes.go |