Verify calldata publickey signature #366
Labels
client
go
Pull requests that update Go code
javascript
Pull requests that update JavaScript code
python
Milestone
A long-term keypair is used to sign the validity of the calldata pubic key.
This keypair can be hard-coded into the clients, and used to verify it.
This means the Oasis RPC servers won't be in a trusted position.
Return the runtime signing (public) key from consensus:
In go code, see: https://github.com/oasisprotocol/oasis-core/blob/050a01f97be8afa6d079fda07952330035b790c1/go/keymanager/secrets/api.go#L295-L302
In rust code, see: https://github.com/oasisprotocol/oasis-core/blob/050a01f97be8afa6d079fda07952330035b790c1/keymanager/src/crypto/types.rs#L157-L170
Verification happens via:
The hash here is a 32-bute SHA-512/256.
Note, we need the
key_pair_id
andruntime_id
from somewhere to verify the signature, these are both 32-bytes each.Note:
Sign(sk, (key || checksum || runtime id || key pair id || epoch || expiration epoch))
The text was updated successfully, but these errors were encountered: