Skip to content

Commit 7ffad43

Browse files
simplify and reinforce feature selection
1 parent 4b6bbc7 commit 7ffad43

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ hash-full = ["hash-sha224", "hash-sha256", "hash-sha384", "hash-sha512"]
202202

203203
# Formats
204204
der = ["dep:der"]
205-
sec1 = ["dep:sec1", "elliptic-curve?/sec1"]
205+
sec1 = ["dep:sec1", "elliptic-curve?/sec1", "sec1/pkcs8"]
206206
pem = ["elliptic-curve?/pem", "ecdsa?/pem"]
207207
pkcs1 = ["dep:pkcs1"]
208208
pkcs8 = [

src/sign/eddsa/ed25519.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ impl TryFrom<&PrivateKeyDer<'_>> for Ed25519SigningKey {
2626
SigningKey::from_pkcs8_der(der.secret_pkcs8_der())
2727
.map_err(|e| format!("failed to decrypt private key: {e}"))
2828
}
29-
#[cfg(all(feature = "pkcs8", feature = "sec1"))]
29+
#[cfg(feature = "sec1")]
3030
PrivateKeyDer::Sec1(sec1) => {
3131
use sec1::DecodeEcPrivateKey;
3232
SigningKey::from_sec1_der(sec1.secret_sec1_der())

src/tls12/suites/ecdsa.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@ use rustls::crypto::{tls12::PrfUsingHmac, CipherSuiteCommon, KeyExchangeAlgorith
99
#[cfg(feature = "aead")]
1010
use rustls::{CipherSuite, Tls12CipherSuite};
1111

12-
#[cfg(feature = "aes-gcm")]
13-
use crate::aead::gcm::{Aes128Gcm, Aes256Gcm};
12+
#[cfg(all(feature = "aes-gcm", feature = "hash-sha256"))]
13+
use crate::aead::gcm::Aes128Gcm;
14+
15+
#[cfg(all(feature = "aes-gcm", feature = "hash-sha384"))]
16+
use crate::aead::gcm::Aes256Gcm;
1417

15-
#[cfg(feature = "aes-ccm")]
18+
#[cfg(all(feature = "aes-ccm", feature = "hash-sha256"))]
1619
use crate::aead::ccm::{Aes128Ccm, Aes128Ccm8, Aes256Ccm, Aes256Ccm8};
1720

18-
#[cfg(feature = "chacha20poly1305")]
21+
#[cfg(all(feature = "chacha20poly1305", feature = "hash-sha256"))]
1922
use crate::aead::ChaCha20Poly1305;
2023

2124
#[cfg(all(feature = "aes-gcm", feature = "hash-sha256"))]

src/tls12/suites/rsa.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ use rustls::crypto::{tls12::PrfUsingHmac, CipherSuiteCommon, KeyExchangeAlgorith
99
#[cfg(feature = "aead")]
1010
use rustls::{CipherSuite, Tls12CipherSuite};
1111

12-
#[cfg(feature = "aes-gcm")]
13-
use crate::aead::gcm::{Aes128Gcm, Aes256Gcm};
12+
#[cfg(all(feature = "gcm", feature = "hash-sha256"))]
13+
use crate::aead::gcm::Aes128Gcm;
14+
15+
#[cfg(all(feature = "gcm", feature = "hash-sha384"))]
16+
use crate::aead::gcm::Aes256Gcm;
1417

1518
#[cfg(feature = "chacha20poly1305")]
1619
use crate::aead::ChaCha20Poly1305;

src/tls13/suites/aes.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
#[cfg(feature = "ccm")]
1+
#[cfg(all(feature = "ccm", feature = "hash-sha256"))]
22
use crate::aead::ccm::{Aes128Ccm, Aes128Ccm8};
3-
#[cfg(feature = "gcm")]
4-
use crate::aead::gcm::{Aes128Gcm, Aes256Gcm};
3+
#[cfg(all(feature = "gcm", feature = "hash-sha256"))]
4+
use crate::aead::gcm::Aes128Gcm;
5+
#[cfg(all(feature = "gcm", feature = "hash-sha384"))]
6+
use crate::aead::gcm::Aes256Gcm;
57
use crate::const_concat_slices;
68
use crate::{hash, hmac};
79
use rustls::crypto::{tls13::HkdfUsingHmac, CipherSuiteCommon};

0 commit comments

Comments
 (0)