From ec1b8a6073cc9694a6772ac82264567993e7cd4e Mon Sep 17 00:00:00 2001 From: Paolo Barbolini Date: Sat, 18 May 2024 11:20:08 +0200 Subject: [PATCH 1/2] Upgrade rustls-pemfile to v2 --- Cargo.toml | 2 +- src/service_account.rs | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 87e705b7..a1994964 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ itertools = "0.12" log = "0.4" percent-encoding = "2" rustls = { version = "^0.23", optional = true, features = ["ring"] } -rustls-pemfile = { version = "1.0.1", optional = true } +rustls-pemfile = { version = "2.0.0", optional = true } seahash = "4" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/src/service_account.rs b/src/service_account.rs index 116259a3..6a649605 100644 --- a/src/service_account.rs +++ b/src/service_account.rs @@ -38,18 +38,17 @@ fn append_base64 + ?Sized>(s: &T, out: &mut String) { /// Decode a PKCS8 formatted RSA key. fn decode_rsa_key(pem_pkcs8: &str) -> Result { - let private_keys = rustls_pemfile::pkcs8_private_keys(&mut pem_pkcs8.as_bytes()); + let private_key = rustls_pemfile::pkcs8_private_keys(&mut pem_pkcs8.as_bytes()).next(); - match private_keys { - Ok(mut keys) if !keys.is_empty() => { - keys.truncate(1); - Ok(PrivateKeyDer::Pkcs8(keys.remove(0).into())) + match private_key { + Some(Ok(key)) => { + Ok(PrivateKeyDer::Pkcs8(key.into())) } - Ok(_) => Err(io::Error::new( + None => Err(io::Error::new( io::ErrorKind::InvalidInput, "Not enough private keys in PEM", )), - Err(_) => Err(io::Error::new( + Some(Err(_)) => Err(io::Error::new( io::ErrorKind::InvalidInput, "Error reading key from PEM", )), From b0216961c3dc4962c9ebccaa2054f7a718179952 Mon Sep 17 00:00:00 2001 From: Lewin Bormann Date: Sat, 8 Jun 2024 09:36:56 +0200 Subject: [PATCH 2/2] Run cargo fmt --- src/service_account.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/service_account.rs b/src/service_account.rs index 6a649605..e8b7fbef 100644 --- a/src/service_account.rs +++ b/src/service_account.rs @@ -41,9 +41,7 @@ fn decode_rsa_key(pem_pkcs8: &str) -> Result { let private_key = rustls_pemfile::pkcs8_private_keys(&mut pem_pkcs8.as_bytes()).next(); match private_key { - Some(Ok(key)) => { - Ok(PrivateKeyDer::Pkcs8(key.into())) - } + Some(Ok(key)) => Ok(PrivateKeyDer::Pkcs8(key.into())), None => Err(io::Error::new( io::ErrorKind::InvalidInput, "Not enough private keys in PEM",