Skip to content

Commit 1ed6a43

Browse files
committed
Remove the alternative implementation
1 parent cdf739d commit 1ed6a43

7 files changed

Lines changed: 2 additions & 130 deletions

File tree

Cargo.lock

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

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ pki-types = { package = "rustls-pki-types", version = "1", default-features = fa
3636
rand_core = { version = "0.10.0-rc-3", default-features = false }
3737
rsa = { version = "0.10.0-rc.11", default-features = false, features = ["sha2", "encoding"] }
3838
rustls = { version = "0.23", default-features = false }
39-
sec1 = { version = "0.8.0-rc.11", default-features = false, features = ["pem"] }
4039
sha2 = { version = "0.11.0-rc.3", default-features = false }
4140
signature = { version = "3.0.0-rc.6", default-features = false }
4241
x25519-dalek = { version = "3.0.0-pre.4", default-features = false }

src/sign/ecdsa.rs

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
use alloc::{boxed::Box, format, sync::Arc};
33
use core::marker::PhantomData;
44

5-
use der::asn1::ObjectIdentifier;
65
use paste::paste;
76
use pkcs8::DecodePrivateKey;
87
use pki_types::PrivateKeyDer;
@@ -26,30 +25,7 @@ macro_rules! impl_ecdsa {
2625
PrivateKeyDer::Pkcs8(der) => {
2726
$signing_key::from_pkcs8_der(der.secret_pkcs8_der()).map_err(|e| format!("failed to decrypt private key: {e}"))
2827
},
29-
PrivateKeyDer::Sec1(sec1) => {
30-
// Parse SEC1 ECPrivateKey and extract the private key octets
31-
let res = sec1::EcPrivateKey::try_from(sec1.secret_sec1_der())
32-
.map_err(|e| format!("failed to parse SEC1 private key: {e}"))
33-
.and_then(|ec| {
34-
// If parameters are present, ensure the named curve OID matches the expected curve
35-
if let Some(params) = ec.parameters {
36-
if let Some(oid) = params.named_curve() {
37-
let expected_oid = if stringify!($name) == "P256" {
38-
ObjectIdentifier::new_unwrap("1.2.840.10045.3.1.7")
39-
} else {
40-
ObjectIdentifier::new_unwrap("1.3.132.0.34")
41-
};
42-
if oid != expected_oid {
43-
return Err("not a supported curve".into());
44-
}
45-
}
46-
}
47-
48-
// Construct signing key from the raw private octets
49-
$signing_key::from_slice(ec.private_key).map_err(|e| format!("failed to parse EC secret: {e}"))
50-
});
51-
res
52-
},
28+
PrivateKeyDer::Sec1(_) => Err(format!("ECDSA does not support SEC1 key")),
5329
PrivateKeyDer::Pkcs1(_) => Err(format!("ECDSA does not support PKCS#1 key")),
5430
_ => Err("not supported".into()),
5531
};

src/sign/eddsa.rs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22
use alloc::{boxed::Box, format, string::ToString, sync::Arc};
33
use core::marker::PhantomData;
44

5-
use der::asn1::ObjectIdentifier;
65
use pkcs8::DecodePrivateKey;
76
use pki_types::PrivateKeyDer;
87
use rustls::sign::{Signer, SigningKey};
98
use rustls::{SignatureAlgorithm, SignatureScheme};
10-
use sec1::EcPrivateKey;
119

1210
#[derive(Debug)]
1311
pub struct Ed25519SigningKey {
@@ -24,33 +22,7 @@ impl TryFrom<&PrivateKeyDer<'_>> for Ed25519SigningKey {
2422
ed25519_dalek::SigningKey::from_pkcs8_der(der.secret_pkcs8_der())
2523
.map_err(|e| format!("failed to decrypt private key: {e}"))
2624
}
27-
PrivateKeyDer::Sec1(sec1) => {
28-
// Parse SEC1 ECPrivateKey and extract the raw private key bytes.
29-
let res = EcPrivateKey::try_from(sec1.secret_sec1_der())
30-
.map_err(|e| format!("failed to parse SEC1 private key: {e}"))
31-
.and_then(|ec| {
32-
// If parameters are present, ensure the named curve OID is id-Ed25519 (1.3.101.112)
33-
if let Some(params) = ec.parameters {
34-
if let Some(oid) = params.named_curve() {
35-
let ed_oid = ObjectIdentifier::new_unwrap("1.3.101.112");
36-
if oid != ed_oid {
37-
return Err("not an Ed25519 key".to_string());
38-
}
39-
}
40-
}
41-
42-
// Private key must be exactly 32 bytes for Ed25519
43-
let sk = ec.private_key;
44-
if sk.len() != ed25519_dalek::SECRET_KEY_LENGTH {
45-
return Err("invalid Ed25519 secret length".to_string());
46-
}
47-
48-
// Convert to SigningKey
49-
ed25519_dalek::SigningKey::try_from(sk)
50-
.map_err(|e| format!("failed to parse Ed25519 secret: {e}"))
51-
});
52-
res
53-
}
25+
PrivateKeyDer::Sec1(_) => Err("ED25519 does not support SEC1 key".to_string()),
5426
PrivateKeyDer::Pkcs1(_) => Err("ED25519 does not support PKCS#1 key".to_string()),
5527
_ => Err("not supported".into()),
5628
};

tests/ecdsa_sec1.rs

Lines changed: 0 additions & 55 deletions
This file was deleted.

tests/eddsa_sec1.rs

Lines changed: 0 additions & 18 deletions
This file was deleted.

validation/local_ping_pong_openssl/Cargo.lock

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

0 commit comments

Comments
 (0)