-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add replication to the key manager #1755
Conversation
Yawning
commented
May 29, 2019
•
edited
Loading
edited
- All the pluming required for the replication.
- The ekiden key manager service.
- Memory
- BFT
- Update the registry to store the key manager runtime ID in the descriptor.
- Client update.
- The ekiden key manager service.
- Enclave support for replication.
- Add the replicate call.
- Query remote peers for the master secret as required.
- Update the single node config. :(
- Update the charts. (https://github.com/oasislabs/private-charts/pull/167)
- Fix runtime-ethereum. (Update to the new key manager API oasislabs/oasis-ethwasi-runtime#776)
Codecov Report
@@ Coverage Diff @@
## master #1755 +/- ##
=========================================
- Coverage 56.86% 56.67% -0.2%
=========================================
Files 224 224
Lines 20687 20758 +71
=========================================
Hits 11764 11764
- Misses 7680 7751 +71
Partials 1243 1243
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #1755 +/- ##
=========================================
- Coverage 57.79% 57% -0.79%
=========================================
Files 231 236 +5
Lines 21054 21644 +590
=========================================
+ Hits 12168 12338 +170
- Misses 7602 8011 +409
- Partials 1284 1295 +11
Continue to review full report at Codecov.
|
6852095
to
0a66386
Compare
8c06d2d
to
3acbdbd
Compare
58c5e59
to
ae9c5a3
Compare
There's still some corresponding runtime-ethereum(?) and chart changes to be made, but this should be ready for review. |
It is useful to be able to add extra data to the per-node/per-runtime component of the node's descriptor (eg: propagate per-enclave instance state in a generic way, without requiring a separate BFT call).
* Sign the InitResponse with the RAK. * Validate the InitResponse signature with the appropriate key. * Include the SignedInitResponse as the node/runtime ExtraInfo.
The current design has no notion of short term public keys, so this API is pointless. We can add such a call back later if we actually need it.
* Removed the timestamp from SignedPublicKey (Not used). * Added the checksum to SignedPublicKey. * Added the checksum to ContractKey.
Unless `debug.allow_test_keys` is set, keys registered as test keys will fail signature verification, regardless of if the signature is actually correct or not.
This adds a hardcoded test entity to ease the gigantic amount of pain that is our deployment process. * `debug.test_entity` will cause the built-in test entity and signing key to be used, instead of anything on disk. * The signing key is a test key, so `debug.allow_test_keys` must also be set. * Registering the entity must happen manually as usual, though the genesis document creation tool and the debug bootstrap server will include it in the genesis document iff `debug.test_entity` is set.
This might break deployment, because we use a pre-generated runtime descriptor. It needs to be regenerated anyway.
It's useful to be able to specify the filename to be written.
The onEpochChange handler needs to ignore non-compute runtimes as well.
ae9c5a3
to
57b6d99
Compare
This is also done in the scheduler PR, but maybe this will be merged first.
57b6d99
to
7bdb8a5
Compare
This also changes the single node config to use the hardcoded test keys instead of a pre-generated entity.
7bdb8a5
to
b6d4e92
Compare