Skip to content

Commit 74fabd8

Browse files
use spki independently
1 parent 3f8520d commit 74fabd8

File tree

3 files changed

+10
-18
lines changed

3 files changed

+10
-18
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ rsa = { version = "0.9.7", default-features = false, features = [
6868
] }
6969
rustls = { version = "0.23.19", default-features = false, features = ["std"] }
7070
sha2 = { version = "0.10.8", default-features = false, features = ["oid"] }
71+
spki = { version = "0.7.3", features = ["alloc"] }
7172
x509-cert = { version = "0.2.5", default-features = false, features = [
7273
"builder",
7374
"pem"
@@ -129,7 +130,7 @@ kx-p521 = ["p521", "p521/ecdh", "kx"]
129130
kx-full = ["kx-x25519", "kx-p256", "kx-p384", "kx-p521"]
130131

131132
rsa = ["dep:rsa", "rsa/sha2", "verify", "signature", "pkcs1"]
132-
rsa-pkcs1 = ["rsa"]
133+
rsa-pkcs1 = ["rsa", "pkcs1"]
133134
rsa-pss = ["rsa"]
134135
rsa-full = ["rsa-pkcs1", "rsa-pss"]
135136

tests/fake_cert_server_resolver.rs

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ use std::sync::Arc;
55
use der::asn1::{GeneralizedTime, Ia5String};
66
use der::Encode;
77
use itertools::iproduct;
8-
use pkcs8::spki::{SignatureAlgorithmIdentifier, SubjectPublicKeyInfoOwned};
98
use pkcs8::{EncodePrivateKey, EncodePublicKey};
109
use pki_types::{CertificateDer, PrivateKeyDer};
1110
use rand_core::{OsRng, RngCore};
12-
use rsa::signature::Keypair;
1311
use rustls::server::{ClientHello, ResolvesServerCert};
1412
use rustls::sign::CertifiedKey;
1513
use rustls::CipherSuite::{
@@ -18,6 +16,8 @@ use rustls::CipherSuite::{
1816
};
1917
use rustls_rustcrypto::sign::any_supported_type;
2018
use sha2::Sha256;
19+
use signature::{Keypair, Signer};
20+
use spki::{SignatureAlgorithmIdentifier, SignatureBitStringEncoding, SubjectPublicKeyInfoOwned};
2121
use x509_cert::builder::{Builder, CertificateBuilder, Profile, RequestBuilder};
2222
use x509_cert::ext::pkix::name::GeneralName;
2323
use x509_cert::ext::pkix::SubjectAltName;
@@ -82,11 +82,8 @@ impl FakeServerCertResolver {
8282
key_fn: impl Fn() -> Key,
8383
) -> (CertificateDer<'static>, Key)
8484
where
85-
Key: signature::Signer<Signature>
86-
+ Keypair
87-
+ SignatureAlgorithmIdentifier
88-
+ EncodePrivateKey,
89-
Signature: pkcs8::spki::SignatureBitStringEncoding,
85+
Key: Signer<Signature> + Keypair + SignatureAlgorithmIdentifier + EncodePrivateKey,
86+
Signature: SignatureBitStringEncoding,
9087
<Key as Keypair>::VerifyingKey: EncodePublicKey,
9188
{
9289
let signing_key = key_fn();
@@ -118,16 +115,9 @@ impl FakeServerCertResolver {
118115
ca_key: CaKey,
119116
) -> (CertificateDer<'static>, PrivateKeyDer<'static>)
120117
where
121-
Key: signature::Signer<Signature>
122-
+ Keypair
123-
+ SignatureAlgorithmIdentifier
124-
+ EncodePrivateKey,
125-
126-
CaKey: signature::Signer<Signature>
127-
+ Keypair
128-
+ SignatureAlgorithmIdentifier
129-
+ EncodePrivateKey,
130-
Signature: pkcs8::spki::SignatureBitStringEncoding,
118+
Key: Signer<Signature> + Keypair + SignatureAlgorithmIdentifier + EncodePrivateKey,
119+
CaKey: Signer<Signature> + Keypair + SignatureAlgorithmIdentifier + EncodePrivateKey,
120+
Signature: SignatureBitStringEncoding,
131121
<Key as Keypair>::VerifyingKey: EncodePublicKey,
132122
<CaKey as Keypair>::VerifyingKey: EncodePublicKey,
133123
{

0 commit comments

Comments
 (0)