Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change, if merged, adds support for external signing tools, such as an HSM (Hardware Security Module).
Additionally:
Outline of steps to use this new functionality:
One-time setup
rippled
format (e.g.nHBQi...
), hex encoded, or base-64 encoded. Either way, the key must be 33 bytes decoded, and the first byte must be0xED
for aned25519
key, and0x02
or0x03
for asecp256k1
key.validator-keys create_external <encoded_public_key>
Usage
validator-keys start_token
. This will return a hex encoded string to sign.validator-keys finish_token <encoded_signature>
rippled.cfg
file just as if it was generated withcreate_token
.The steps to revoke a key are identical to the Usage steps, except using the
start_revoke_keys
andfinish_revoke_keys
commands.For testing, if you don't have an HSM handy, you can accomplish the same thing in Usage step 2 using
validator-keys --keyfile <path to a key file generated with create_keys> sign_hex <partial token output from Usage step 1>