Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Commit e88ac4d

Browse files
authored
[secretstore]: don't sign message with only zeroes (#11561)
1 parent b7c97f9 commit e88ac4d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

parity/secretstore/server.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@
1818
1919
use std::collections::BTreeMap;
2020
use std::sync::Arc;
21+
2122
use account_utils::AccountProvider;
2223
use dir::default_data_path;
2324
use dir::helpers::replace_home;
2425
use ethcore::client::Client;
2526
use ethcore::miner::Miner;
27+
use ethereum_types::Address;
2628
use ethkey::Password;
2729
use parity_crypto::publickey::{Secret, Public};
28-
use sync::SyncProvider;
29-
use ethereum_types::Address;
3030
use parity_runtime::Executor;
31+
use sync::SyncProvider;
3132

3233
/// This node secret key.
3334
#[derive(Debug, PartialEq, Clone)]
@@ -123,14 +124,16 @@ mod server {
123124
#[cfg(feature = "secretstore")]
124125
mod server {
125126
use std::sync::Arc;
126-
use parity_secretstore;
127127
use parity_crypto::publickey::KeyPair;
128128
use ansi_term::Colour::{Red, White};
129+
use ethereum_types::H256;
129130
use super::{Configuration, Dependencies, NodeSecretKey, ContractAddress, Executor};
130131
use super::super::TrustedClient;
131132
#[cfg(feature = "accounts")]
132133
use super::super::KeyStoreNodeKeyPair;
133134

135+
const SECP_TEST_MESSAGE: H256 = H256([1_u8; 32]);
136+
134137
fn into_service_contract_address(address: ContractAddress) -> parity_secretstore::ContractAddress {
135138
match address {
136139
ContractAddress::Registry => parity_secretstore::ContractAddress::Registry,
@@ -163,10 +166,10 @@ mod server {
163166

164167
// Attempt to sign in the engine signer.
165168
let password = deps.accounts_passwords.iter()
166-
.find(|p| deps.account_provider.sign(account.clone(), Some((*p).clone()), Default::default()).is_ok())
169+
.find(|p| deps.account_provider.sign(account.clone(), Some((*p).clone()), SECP_TEST_MESSAGE).is_ok())
167170
.ok_or_else(|| format!("No valid password for the secret store node account {}", account))?;
168171
Arc::new(KeyStoreNodeKeyPair::new(deps.account_provider, account, password.clone())
169-
.map_err(|e| format!("{}", e))?)
172+
.map_err(|e| e.to_string())?)
170173
},
171174
None => return Err("self secret is required when using secretstore".into()),
172175
};

0 commit comments

Comments
 (0)