diff --git a/Cargo.lock b/Cargo.lock index 5119d2ae6..1bd04e719 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2747,9 +2747,9 @@ dependencies = [ [[package]] name = "miden-crypto" -version = "0.19.6" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999926d48cf0929a39e06ce22299084f11d307ca9e765801eb56bf192b07054b" +checksum = "be59336a868de7c379eace9450563c2d7f4a0b7ab936835ec5a340dcd8d9a5ed" dependencies = [ "blake3", "cc", @@ -3196,7 +3196,6 @@ dependencies = [ "build-rs", "diesel", "diesel_migrations", - "k256", "miden-node-db", "miden-node-proto", "miden-node-proto-build", diff --git a/crates/validator/Cargo.toml b/crates/validator/Cargo.toml index 9acd553c6..84ed6b248 100644 --- a/crates/validator/Cargo.toml +++ b/crates/validator/Cargo.toml @@ -22,7 +22,6 @@ aws-config = { version = "1.8.14" } aws-sdk-kms = { version = "1.100" } diesel = { workspace = true } diesel_migrations = { workspace = true } -k256 = "0.13.4" miden-node-db = { workspace = true } miden-node-proto = { workspace = true } miden-node-proto-build = { features = ["internal"], workspace = true } diff --git a/crates/validator/src/signers/kms.rs b/crates/validator/src/signers/kms.rs index 1d52d4e24..01bfb9744 100644 --- a/crates/validator/src/signers/kms.rs +++ b/crates/validator/src/signers/kms.rs @@ -1,15 +1,11 @@ -use anyhow::Context; use aws_sdk_kms::error::SdkError; use aws_sdk_kms::operation::sign::SignError; use aws_sdk_kms::types::SigningAlgorithmSpec; -use k256::PublicKey as K256PublicKey; -use k256::elliptic_curve::sec1::ToEncodedPoint; -use k256::pkcs8::DecodePublicKey as _; use miden_node_utils::signer::BlockSigner; use miden_protocol::block::BlockHeader; use miden_protocol::crypto::dsa::ecdsa_k256_keccak::{PublicKey, Signature}; use miden_protocol::crypto::hash::keccak::Keccak256; -use miden_tx::utils::{Deserializable, DeserializationError, Serializable}; +use miden_tx::utils::{DeserializationError, Serializable}; // KMS SIGNER ERROR // ================================================================================================ @@ -23,9 +19,6 @@ pub enum KmsSignerError { #[error("KMS request returned an empty result")] EmptyBlob, /// The KMS backend returned a signature with an invalid format. - #[error("k256 signature error")] - K256Error(#[source] k256::ecdsa::Error), - /// The KMS backend returned a signature with an invalid format. #[error("invalid signature format")] SignatureFormatError(#[source] DeserializationError), } @@ -74,14 +67,8 @@ impl KmsSigner { let pub_key_output = client.get_public_key().key_id(key_id.clone()).send().await?; let spki_der = pub_key_output.public_key().ok_or(KmsSignerError::EmptyBlob)?.as_ref(); - // Decode the DER-encoded SPKI and compress it. - let kpub = K256PublicKey::from_public_key_der(spki_der) - .context("failed to parse SPKI as secp256k1")?; - let compressed = kpub.to_encoded_point(true); // 33 bytes, 0x02/0x03 || X. - let sec1_compressed = compressed.as_bytes(); - // Decode the compressed SPKI as a Miden public key. - let pub_key = PublicKey::read_from_bytes(sec1_compressed)?; + let pub_key = PublicKey::from_der(spki_der)?; Ok(Self { key_id, pub_key, client }) } }