Skip to content

Commit

Permalink
refactor(crypto): CRP-2382 remove obsolete CryptoComponent::new_with_…
Browse files Browse the repository at this point in the history
…fake_node_id
  • Loading branch information
fspreiss committed Feb 8, 2024
1 parent 68127bf commit 2af225e
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 59 deletions.
30 changes: 0 additions & 30 deletions rs/crypto/src/lib.rs
Expand Up @@ -213,36 +213,6 @@ impl CryptoComponentImpl<Csp> {
crypto_component
}

/// Creates a crypto component using a fake `node_id`.
///
/// # Panics
/// Panics if the `config`'s vault type is `UnixSocket` and
/// `tokio_runtime_handle` is `None`.
pub fn new_with_fake_node_id(
config: &CryptoConfig,
tokio_runtime_handle: Option<tokio::runtime::Handle>,
registry_client: Arc<dyn RegistryClient>,
node_id: NodeId,
logger: ReplicaLogger,
time_source: Arc<dyn TimeSource>,
) -> Self {
let metrics = Arc::new(CryptoMetrics::none());
CryptoComponentImpl {
lockable_threshold_sig_data_store: LockableThresholdSigDataStore::new(),
csp: Csp::new(
config,
tokio_runtime_handle,
Some(logger.clone()),
Arc::clone(&metrics),
),
registry_client,
node_id,
logger,
metrics,
time_source,
}
}

/// Returns the `NodeId` of this crypto component.
pub fn get_node_id(&self) -> NodeId {
self.node_id
Expand Down
19 changes: 10 additions & 9 deletions rs/crypto/tests/integration_test.rs
Expand Up @@ -8,6 +8,7 @@ use ic_crypto_internal_csp_test_utils::remote_csp_vault::{
get_temp_file_path, start_new_remote_csp_vault_server_for_test,
};
use ic_crypto_internal_tls::generate_tls_key_pair_der;
use ic_crypto_node_key_generation::generate_node_keys_once;
use ic_crypto_temp_crypto::{EcdsaSubnetConfig, NodeKeysToGenerate, TempCryptoComponent};
use ic_crypto_test_utils::files::temp_dir;
use ic_crypto_test_utils_keygen::TestKeygenCrypto;
Expand Down Expand Up @@ -49,14 +50,14 @@ const TWO_WEEKS: Duration = Duration::from_secs(2 * 7 * 24 * 60 * 60);
#[test]
fn should_successfully_construct_crypto_component_with_default_config() {
CryptoConfig::run_with_temp_config(|config| {
generate_node_keys_once(&config, None).expect("error generating node public keys");
let registry_client = FakeRegistryClient::new(Arc::new(ProtoRegistryDataProvider::new()));
CryptoComponent::new_with_fake_node_id(
CryptoComponent::new(
&config,
None,
Arc::new(registry_client),
node_test_id(42),
no_op_logger(),
Arc::new(CurrentSystemTimeSource::new(no_op_logger())),
None,
);
})
}
Expand All @@ -68,14 +69,15 @@ fn should_successfully_construct_crypto_component_with_remote_csp_vault() {
let temp_dir = temp_dir(); // temp dir with correct permissions
let crypto_root = temp_dir.path().to_path_buf();
let config = CryptoConfig::new_with_unix_socket_vault(crypto_root, socket_path, None);
generate_node_keys_once(&config, Some(tokio_rt.handle().clone()))
.expect("error generating node public keys");
let registry_client = FakeRegistryClient::new(Arc::new(ProtoRegistryDataProvider::new()));
CryptoComponent::new_with_fake_node_id(
CryptoComponent::new(
&config,
Some(tokio_rt.handle().clone()),
Arc::new(registry_client),
node_test_id(42),
no_op_logger(),
Arc::new(CurrentSystemTimeSource::new(no_op_logger())),
None,
);
}

Expand All @@ -88,13 +90,12 @@ fn should_not_construct_crypto_component_if_remote_csp_vault_is_missing() {
let config = CryptoConfig::new_with_unix_socket_vault(crypto_root, socket_path, None);
let tokio_rt = new_tokio_runtime();
let registry_client = FakeRegistryClient::new(Arc::new(ProtoRegistryDataProvider::new()));
CryptoComponent::new_with_fake_node_id(
CryptoComponent::new(
&config,
Some(tokio_rt.handle().clone()),
Arc::new(registry_client),
node_test_id(42),
no_op_logger(),
FastForwardTimeSource::new(),
None,
);
}

Expand Down
17 changes: 7 additions & 10 deletions rs/crypto/tests/request_id_signatures.rs
Expand Up @@ -3,6 +3,8 @@ use assert_matches::assert_matches;
use ic_config::crypto::CryptoConfig;
use ic_crypto::CryptoComponent;
use ic_crypto_interfaces_sig_verification::BasicSigVerifierByPublicKey;
use ic_crypto_internal_csp::Csp;
use ic_crypto_internal_logmon::metrics::CryptoMetrics;
use ic_crypto_internal_test_vectors::test_data;
use ic_crypto_standalone_sig_verifier::{
ecdsa_p256_signature_from_der_bytes, ed25519_public_key_to_der, user_public_key_from_bytes,
Expand All @@ -14,14 +16,12 @@ use ic_registry_proto_data_provider::ProtoRegistryDataProvider;
use ic_types::crypto::{AlgorithmId, BasicSig, BasicSigOf, CryptoError, UserPublicKey};
use ic_types::crypto::{SignableMock, DOMAIN_IC_REQUEST};
use ic_types::messages::MessageId;
use ic_types_test_utils::ids::node_test_id;
use rand::{CryptoRng, Rng};
use std::sync::Arc;

use ic_crypto_sha2::Sha256;
use ic_crypto_test_utils::ed25519_utils::ed25519_signature_and_public_key;
use ic_crypto_test_utils_reproducible_rng::reproducible_rng;
use ic_interfaces::time_source::SysTimeSource;

#[test]
fn should_verify_request_id_ed25519_signature() {
Expand Down Expand Up @@ -408,12 +408,9 @@ fn ecdsa_secp256k1_signature_and_public_key<R: Rng + CryptoRng>(

fn crypto_component(config: &CryptoConfig) -> CryptoComponent {
let dummy_registry = FakeRegistryClient::new(Arc::new(ProtoRegistryDataProvider::new()));
CryptoComponent::new_with_fake_node_id(
config,
None,
Arc::new(dummy_registry),
node_test_id(42),
no_op_logger(),
Arc::new(SysTimeSource::new()),
)

let csp = Csp::new(config, None, None, Arc::new(CryptoMetrics::none()));
ic_crypto_node_key_generation::generate_node_signing_keys(&csp);

CryptoComponent::new(config, None, Arc::new(dummy_registry), no_op_logger(), None)
}
17 changes: 7 additions & 10 deletions rs/crypto/tests/webauthn_signatures.rs
Expand Up @@ -2,16 +2,16 @@
use ic_config::crypto::CryptoConfig;
use ic_crypto::CryptoComponent;
use ic_crypto_interfaces_sig_verification::BasicSigVerifierByPublicKey;
use ic_crypto_internal_csp::Csp;
use ic_crypto_internal_logmon::metrics::CryptoMetrics;
use ic_crypto_internal_test_vectors::test_data;
use ic_crypto_standalone_sig_verifier::{
ecdsa_p256_signature_from_der_bytes, rsa_signature_from_bytes, user_public_key_from_bytes,
};
use ic_interfaces::time_source::SysTimeSource;
use ic_logger::replica_logger::no_op_logger;
use ic_registry_client_fake::FakeRegistryClient;
use ic_registry_proto_data_provider::ProtoRegistryDataProvider;
use ic_types::crypto::{BasicSigOf, SignableMock, UserPublicKey};
use ic_types_test_utils::ids::node_test_id;
use std::sync::Arc;

#[test]
Expand Down Expand Up @@ -150,12 +150,9 @@ fn rsa_verification_data(

fn crypto_component(config: &CryptoConfig) -> CryptoComponent {
let dummy_registry = FakeRegistryClient::new(Arc::new(ProtoRegistryDataProvider::new()));
CryptoComponent::new_with_fake_node_id(
config,
None,
Arc::new(dummy_registry),
node_test_id(42),
no_op_logger(),
Arc::new(SysTimeSource::new()),
)

let csp = Csp::new(config, None, None, Arc::new(CryptoMetrics::none()));
ic_crypto_node_key_generation::generate_node_signing_keys(&csp);

CryptoComponent::new(config, None, Arc::new(dummy_registry), no_op_logger(), None)
}

0 comments on commit 2af225e

Please sign in to comment.