Repository navigation
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
|
Manual UAT tests pass, but I have found some issues that I need to address when testing via the go-sdk |
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
…t --file Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
Signed-off-by: Rado M <radkomih@gmail.com>
…ecret Signed-off-by: Rado M <radkomih@gmail.com>
afa7e22 to
4f101f9
Compare
leninmehedy
left a comment
There was a problem hiding this comment.
Thanks. Very close! I've added some comments.
| `nodeCreate` requires the gossip certificate in DER form, not PEM. Convert | ||
| `s-public.pem` before you give it to your wallet or SDK: | ||
|
|
||
| ```bash | ||
| openssl x509 -in s-public.pem -outform der -out s-public.der | ||
| ``` |
There was a problem hiding this comment.
solo-provisioner should have a command to export the keys in DER format. Therefore, user can just use a single command to export in a format they want.
| @@ -286,12 +322,16 @@ sudo solo-provisioner consensus keys inspect --experimental --file ./keys/node0/ | |||
| | Flag | Description | Default | | |||
| |---|---|---| | |||
| | `--keys-dir` | Node key folder to inspect | — | | |||
There was a problem hiding this comment.
I forgot to mention, but we need to set a default --keys-dir value. Let's set to /opt/solo/weaver/consensus/keys/
| To set your admin key after genesis, send a `NodeUpdate` with the new `adminKey`. | ||
| The current admin key (the genesis key) and the new admin key must both sign it. | ||
| The change applies immediately, and the new key can be Ed25519 or secp256k1. |
There was a problem hiding this comment.
This is incorrect. NodeUpdate (a type of DAB transaction) is only effective after a freeze upgrade, and we don't have the support for it yet in solo-operator. So as of now we cannot update admin key after genesis. DAB transaction support is an epic being worked in solo-operator.
Therefore, we should enforce the existence of data/config/node-admin-keys.json in the deployment package, and if that is missing, we must confirm with user to proceed with the default genesis key (only for local dev/testing)
| Do not use the sample secrets (`SAMPLE_KEYS=true`) with this harness: they have no | ||
| `solo.hiero.org` labels, and the `consensus` task passes no secret flags, so install | ||
| fails with "no gossip key secret found". |
There was a problem hiding this comment.
Let's remove the sample secrets. For testing people should generate using the command and backup as required.
Description
This pull request adds pure-Go key management for consensus nodes. Operators no longer need openssl or fixed sample secrets.
This pull request changes the following:
pkg/consensus/keys, which generates the gossip key (RSA-3072) and the gRPC TLS key, each with a self-signed certificate. The admin key comes from an external wallet.consensus keyscommands:generate,import,export,verify,initandinspect.consensus node installuses the secrets of the live capsule or the labelled secrets of the node. Preflight checks the secret entries.consensus keys init, not with sample secrets.docs/commands/consensus.md.Related Issues