Skip to content

Commit 83e6ece

Browse files
committed
Revert "fix: disambiguate DER decoders for RSA keys"
This reverts commit ab88daa.
1 parent ab88daa commit 83e6ece

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

src/signer/rsa.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/)
44
// Copyright 2026 Datadog, Inc.
55

6-
use pkcs1::der::Decode as Pkcs1Decode;
6+
use pkcs1::der::Decode as _;
77
use pkcs1::RsaPrivateKey;
8-
use pkcs8::der::Decode as Pkcs8Decode;
8+
use pkcs8::der::Decode as _;
99
use pkcs8::PrivateKeyInfoRef;
1010
use rustls::pki_types::PrivateKeyDer;
1111
use rustls::{Error, SignatureAlgorithm, SignatureScheme};
@@ -54,15 +54,17 @@ impl RsaSigningKey {
5454
pub(super) fn new(der: &PrivateKeyDer<'_>) -> Result<Self, Error> {
5555
let key = match der {
5656
PrivateKeyDer::Pkcs1(private_pkcs1_key_der) => {
57-
Pkcs1Decode::from_der(private_pkcs1_key_der.secret_pkcs1_der())
57+
RsaPrivateKey::from_der(private_pkcs1_key_der.secret_pkcs1_der())
5858
.map_err(|e| Error::General(format!("Failed to parse PKCS1 key: {e}")))
5959
}
6060
PrivateKeyDer::Pkcs8(private_pkcs8_key_der) => {
61-
let pki: PrivateKeyInfoRef =
62-
Pkcs8Decode::from_der(private_pkcs8_key_der.secret_pkcs8_der())
63-
.map_err(|e| Error::General(format!("Failed to parse PKCS8 key: {e}")))?;
64-
Pkcs1Decode::from_der(pki.private_key.as_bytes())
65-
.map_err(|e| Error::General(format!("Failed to parse PKCS8 RSA key: {e}")))
61+
PrivateKeyInfoRef::from_der(private_pkcs8_key_der.secret_pkcs8_der())
62+
.map_err(|e| Error::General(format!("Failed to parse PKCS8 key: {e}")))
63+
.and_then(|pki| {
64+
RsaPrivateKey::from_der(pki.private_key.as_bytes()).map_err(|e| {
65+
Error::General(format!("Failed to parse PKCS8 RSA key: {e}"))
66+
})
67+
})
6668
}
6769
_ => Err(Error::General("Unsupported key format".to_string())),
6870
}?;

0 commit comments

Comments
 (0)