Skip to content

Commit 229d08f

Browse files
authored
Merge pull request #1109 from input-output-hk/ensemble/669/factorize-hardcoded-keys
Factorize hardcoded keys
2 parents 44557d7 + 33e3b11 commit 229d08f

File tree

26 files changed

+388
-75
lines changed

26 files changed

+388
-75
lines changed

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mithril-aggregator/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-aggregator"
3-
version = "0.3.61"
3+
version = "0.3.62"
44
description = "A Mithril Aggregator server"
55
authors = { workspace = true }
66
edition = { workspace = true }

mithril-aggregator/src/database/provider/test_helper.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use chrono::Utc;
2+
use mithril_common::test_utils::fake_keys;
23
use mithril_common::{entities::Epoch, StdResult};
34
use sqlite::{Connection, Value};
45
use uuid::Uuid;
@@ -25,7 +26,7 @@ pub fn setup_single_signature_records(
2526
signer_id: format!("signer-{signer_idx}"),
2627
registration_epoch_setting_id: Epoch(epoch),
2728
lottery_indexes: (1..=single_signature_id).collect(),
28-
signature: "7b227369676d61223a5b3133302c32382c3134332c31372c38302c31302c3231352c3138382c3230352c3132322c31312c3233392c34362c3234352c32312c3139332c32382c3232312c3133302c34302c3131362c39322c3139362c33352c3235342c34332c3138382c362c38372c3136392c37312c3134352c3130342c3137382c392c3136362c39342c31332c3234372c3139302c3130322c37312c3232362c3230392c312c3230392c3235312c3137305d2c22696e6465786573223a5b302c312c382c31322c31332c31342c31382c31392c32332c32352c32362c32372c32382c33322c33332c33342c33352c33372c33382c33392c34312c34322c34332c34342c34352c34362c34372c34382c34392c35302c35312c35322c35332c35342c35352c35362c35372c35382c35392c36302c36312c36332c36342c36352c36372c36382c37302c37312c37352c37362c37372c37392c38302c38312c38322c38342c38352c38392c39302c39312c39332c39352c39372c39382c39395d2c227369676e65725f696e646578223a337d".to_string(),
29+
signature: fake_keys::single_signature()[3].to_string(),
2930
created_at: Utc::now(),
3031
});
3132
}

mithril-aggregator/src/store/verification_key_store.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ pub(crate) use test_verification_key_storer;
130130
#[cfg(test)]
131131
pub mod test_suite {
132132
use mithril_common::entities::{Epoch, PartyId, Signer, SignerWithStake};
133+
use mithril_common::test_utils::fake_keys;
133134
use std::collections::{BTreeMap, HashMap};
134135
use std::sync::Arc;
135136

@@ -156,7 +157,9 @@ pub mod test_suite {
156157
party_id.clone(),
157158
SignerWithStake {
158159
party_id: party_id.clone(),
159-
verification_key: "7b22766b223a5b3134352c32332c3135382c31322c3138332c3230392c33322c3134302c33372c3132342c3136362c3231352c3136302c3231352c3235302c3133342c3135342c3235302c3234312c3230362c3139342c3232322c382c35392c33332c392c35382c322c3235312c31302c33322c3135352c3232372c3134332c3232362c35372c3135312c37342c3139392c3131372c37352c3136382c3134302c34362c3233392c3134352c37322c31362c32312c3138312c3139332c3134362c38362c3231332c3230342c3139332c3232332c32352c3135372c33342c33332c3232372c35312c3132362c3132362c3135362c36342c3232302c3139392c3231332c31362c34352c3131302c3234332c33352c3134382c37312c3231382c3132342c3132332c31362c3132312c3135322c31382c32362c3231322c3231342c3230312c3139302c3137342c3131352c39372c3234392c3235342c3131362c3234335d2c22706f70223a5b3138332c3134352c3133392c3234322c3132302c3136302c35362c3131382c3234322c3230342c39312c38392c32312c3138342c382c34372c3231332c3130352c36332c3135302c32312c3231372c352c382c3231392c3138382c3131342c3230352c3136362c31362c3234302c3234302c3231342c31362c3230342c3231382c3139332c3138312c32342c35362c34352c39392c3234342c38312c32352c35322c3232342c36372c3136382c3136392c3130392c3132322c38372c34392c3137302c3138312c3135312c31352c3235322c3139352c3231312c3233342c3139352c34392c39312c31392c35312c3234312c33332c35382c3134302c3235322c3234322c362c342c34302c32312c3136372c3234392c3235312c33362c38372c36302c39362c36392c3135322c3231302c39382c3136352c352c362c34312c39362c3233352c37352c3138335d7d".try_into().unwrap(),
160+
verification_key: fake_keys::signer_verification_key()[0]
161+
.try_into()
162+
.unwrap(),
160163
verification_key_signature: None,
161164
operational_certificate: None,
162165
kes_period: None,
@@ -178,7 +181,7 @@ pub mod test_suite {
178181
Epoch(0),
179182
SignerWithStake {
180183
party_id: "0".to_string(),
181-
verification_key: "7b22766b223a5b3134352c32332c3135382c31322c3138332c3230392c33322c3134302c33372c3132342c3136362c3231352c3136302c3231352c3235302c3133342c3135342c3235302c3234312c3230362c3139342c3232322c382c35392c33332c392c35382c322c3235312c31302c33322c3135352c3232372c3134332c3232362c35372c3135312c37342c3139392c3131372c37352c3136382c3134302c34362c3233392c3134352c37322c31362c32312c3138312c3139332c3134362c38362c3231332c3230342c3139332c3232332c32352c3135372c33342c33332c3232372c35312c3132362c3132362c3135362c36342c3232302c3139392c3231332c31362c34352c3131302c3234332c33352c3134382c37312c3231382c3132342c3132332c31362c3132312c3135322c31382c32362c3231322c3231342c3230312c3139302c3137342c3131352c39372c3234392c3235342c3131362c3234335d2c22706f70223a5b3138332c3134352c3133392c3234322c3132302c3136302c35362c3131382c3234322c3230342c39312c38392c32312c3138342c382c34372c3231332c3130352c36332c3135302c32312c3231372c352c382c3231392c3138382c3131342c3230352c3136362c31362c3234302c3234302c3231342c31362c3230342c3231382c3139332c3138312c32342c35362c34352c39392c3234342c38312c32352c35322c3232342c36372c3136382c3136392c3130392c3132322c38372c34392c3137302c3138312c3135312c31352c3235322c3139352c3231312c3233342c3139352c34392c39312c31392c35312c3234312c33332c35382c3134302c3235322c3234322c362c342c34302c32312c3136372c3234392c3235312c33362c38372c36302c39362c36392c3135322c3231302c39382c3136352c352c362c34312c39362c3233352c37352c3138335d7d".try_into().unwrap(),
184+
verification_key: fake_keys::signer_verification_key()[0].try_into().unwrap(),
182185
verification_key_signature: None,
183186
operational_certificate: None,
184187
kes_period: None,
@@ -199,7 +202,7 @@ pub mod test_suite {
199202
Epoch(1),
200203
SignerWithStake {
201204
party_id: "party_id:e1:1".to_string(),
202-
verification_key: "7b22766b223a5b3134352c35362c3137352c33322c3132322c3138372c3231342c3232362c3235312c3134382c38382c392c312c3130332c3135392c3134362c38302c3136362c3130372c3234332c3235312c3233362c34312c32382c3131312c3132382c3230372c3136342c3133322c3134372c3232382c38332c3234362c3232382c3137302c36382c38392c37382c36302c32382c3132332c3133302c38382c3233342c33382c39372c34322c36352c312c3130302c35332c31382c37382c3133312c382c36312c3132322c3133312c3233382c38342c3233332c3232332c3135342c3131382c3131382c37332c32382c32372c3130312c37382c38302c3233332c3132332c3230362c3232302c3137342c3133342c3230352c37312c3131302c3131322c3138302c39372c39382c302c3131332c36392c3134352c3233312c3136382c34332c3137332c3137322c35362c3130342c3230385d2c22706f70223a5b3133372c3231342c37352c37352c3134342c3136312c3133372c37392c39342c3134302c3138312c34372c33312c38312c3231332c33312c3137312c3231362c32342c3137342c37382c3234382c3133302c37352c3235352c31312c3134352c3132342c36312c38302c3139302c32372c3231362c3130352c3130362c3234382c39312c3134332c3230342c3130322c3230332c3136322c37362c3130372c31352c35322c36312c38322c3134362c3133302c3132342c37342c382c33342c3136342c3138372c3230332c38322c36342c3130382c3139312c3138352c3138382c37372c3132322c352c3234362c3235352c3130322c3131392c3234372c3139392c3131372c36372c3234312c3134332c32392c3136382c36372c39342c3135312c37382c3132392c3133312c33302c3130312c3137332c31302c36392c36382c3137352c39382c33372c3233392c3139342c32395d7d".try_into().unwrap(),
205+
verification_key: fake_keys::signer_verification_key()[2].try_into().unwrap(),
203206
verification_key_signature: None,
204207
operational_certificate: None,
205208
kes_period: None,
@@ -212,7 +215,7 @@ pub mod test_suite {
212215
assert_eq!(
213216
Some(SignerWithStake {
214217
party_id: "party_id:e1:1".to_string(),
215-
verification_key: "7b22766b223a5b3134352c35362c3137352c33322c3132322c3138372c3231342c3232362c3235312c3134382c38382c392c312c3130332c3135392c3134362c38302c3136362c3130372c3234332c3235312c3233362c34312c32382c3131312c3132382c3230372c3136342c3133322c3134372c3232382c38332c3234362c3232382c3137302c36382c38392c37382c36302c32382c3132332c3133302c38382c3233342c33382c39372c34322c36352c312c3130302c35332c31382c37382c3133312c382c36312c3132322c3133312c3233382c38342c3233332c3232332c3135342c3131382c3131382c37332c32382c32372c3130312c37382c38302c3233332c3132332c3230362c3232302c3137342c3133342c3230352c37312c3131302c3131322c3138302c39372c39382c302c3131332c36392c3134352c3233312c3136382c34332c3137332c3137322c35362c3130342c3230385d2c22706f70223a5b3133372c3231342c37352c37352c3134342c3136312c3133372c37392c39342c3134302c3138312c34372c33312c38312c3231332c33312c3137312c3231362c32342c3137342c37382c3234382c3133302c37352c3235352c31312c3134352c3132342c36312c38302c3139302c32372c3231362c3130352c3130362c3234382c39312c3134332c3230342c3130322c3230332c3136322c37362c3130372c31352c35322c36312c38322c3134362c3133302c3132342c37342c382c33342c3136342c3138372c3230332c38322c36342c3130382c3139312c3138352c3138382c37372c3132322c352c3234362c3235352c3130322c3131392c3234372c3139392c3131372c36372c3234312c3134332c32392c3136382c36372c39342c3135312c37382c3132392c3133312c33302c3130312c3137332c31302c36392c36382c3137352c39382c33372c3233392c3139342c32395d7d".try_into().unwrap(),
218+
verification_key: fake_keys::signer_verification_key()[2].try_into().unwrap(),
216219
verification_key_signature: None,
217220
operational_certificate: None,
218221
kes_period: None,

mithril-aggregator/src/tools/genesis.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl GenesisTools {
137137
let mut genesis_secret_key_serialized = String::new();
138138
genesis_secret_key_file.read_to_string(&mut genesis_secret_key_serialized)?;
139139

140-
let genesis_secret_key = key_decode_hex(&genesis_secret_key_serialized.trim().to_string())?;
140+
let genesis_secret_key = key_decode_hex(genesis_secret_key_serialized.trim())?;
141141
let genesis_signer = ProtocolGenesisSigner::from_secret_key(genesis_secret_key);
142142

143143
let mut to_sign_payload_file = File::open(to_sign_payload_path).unwrap();

mithril-client/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-client"
3-
version = "0.3.24"
3+
version = "0.3.25"
44
description = "A Mithril Client"
55
authors = { workspace = true }
66
edition = { workspace = true }

mithril-client/src/services/mithril_stake_distribution.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,12 @@ impl MithrilStakeDistributionService for AppMithrilStakeDistributionService {
131131
)
132132
})?;
133133

134-
let genesis_verification_key = key_decode_hex(&genesis_verification_key.to_string())
135-
.map_err(
136-
|e| MithrilStakeDistributionServiceError::InvalidParameters {
137-
context: format!(
138-
"Invalid genesis verification key '{genesis_verification_key}'"
139-
),
140-
error: e.into(),
141-
},
142-
)?;
134+
let genesis_verification_key = key_decode_hex(genesis_verification_key).map_err(|e| {
135+
MithrilStakeDistributionServiceError::InvalidParameters {
136+
context: format!("Invalid genesis verification key '{genesis_verification_key}'"),
137+
error: e.into(),
138+
}
139+
})?;
143140
self.certificate_verifier
144141
.verify_certificate_chain(
145142
certificate.clone(),

mithril-client/src/services/snapshot.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,12 @@ impl MithrilClientSnapshotService {
131131
genesis_verification_key: &str,
132132
certificate: &Certificate,
133133
) -> StdResult<()> {
134-
let genesis_verification_key = key_decode_hex(&genesis_verification_key.to_string())
135-
.map_err(|e| SnapshotServiceError::InvalidParameters {
134+
let genesis_verification_key = key_decode_hex(genesis_verification_key).map_err(|e| {
135+
SnapshotServiceError::InvalidParameters {
136136
context: format!("Invalid genesis verification key '{genesis_verification_key}'"),
137137
error: e.into(),
138-
})?;
138+
}
139+
})?;
139140
let genesis_verifier =
140141
ProtocolGenesisVerifier::from_verification_key(genesis_verification_key);
141142

mithril-common/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-common"
3-
version = "0.2.84"
3+
version = "0.2.85"
44
authors = { workspace = true }
55
edition = { workspace = true }
66
documentation = { workspace = true }

mithril-common/src/certificate_chain/certificate_verifier.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ impl CertificateVerifier for MithrilCertificateVerifier {
163163
"Verify multi signature for {:?}",
164164
message.encode_hex::<String>()
165165
);
166-
let multi_signature: ProtocolMultiSignature = key_decode_hex(&multi_signature.to_string())
167-
.map_err(CertificateVerifierError::Codec)?;
168-
let aggregate_verification_key = key_decode_hex(&aggregate_verification_key.to_string())
169-
.map_err(CertificateVerifierError::Codec)?;
166+
let multi_signature: ProtocolMultiSignature =
167+
key_decode_hex(multi_signature).map_err(CertificateVerifierError::Codec)?;
168+
let aggregate_verification_key =
169+
key_decode_hex(aggregate_verification_key).map_err(CertificateVerifierError::Codec)?;
170170
multi_signature
171171
.verify(
172172
message,

0 commit comments

Comments
 (0)