You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds core.KeyManagerPublicKey which returns the runtime signing public key.
This key signs the ephemeral keys, one of which is the per-epoch call data public key, used for encrypting transaction data.
I have modified core.CallDataPublicKey to return both the Runtime ID and the Key Pair ID, both of these are necessary information to validate the signature. The remaining information (such as the checksum, expiration & epoch) are already returned by core.CallDataPublicKey
TODO
Validate calldatapublickey in JS client.
Return key_pair_id and runtime_id from core.CallDataPublicKey
Return only 32 byte runtime signing public key from core.KeyManagerPublicKey
So secrets::get_public_ephemeral_key uses kdf.sign_pubic_key, which signs the key using kdf.inner.signer
But... I can't get the inner.signer public key through the keymanager API, and it's not the long term key pair (which I assumed had been signing the ephemeral keypairs) that I need - it's the signer signer is derived from derive_signing_key with the master secret & runtime ID, and the ekiden-derive-signing-key namespace, whereas long-term keys are derived using ekiden-derive-runtime-secret namespace via get_or_create_longterm_keys
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Re: oasisprotocol/sapphire-paratime#366
Adds
core.KeyManagerPublicKeywhich returns the runtime signing public key.This key signs the ephemeral keys, one of which is the per-epoch call data public key, used for encrypting transaction data.
I have modified
core.CallDataPublicKeyto return both the Runtime ID and the Key Pair ID, both of these are necessary information to validate the signature. The remaining information (such as the checksum, expiration & epoch) are already returned bycore.CallDataPublicKeyTODO
core.CallDataPublicKeycore.KeyManagerPublicKeyResult is the 32 byte runtime signing public key.