Skip to content

Commit 4f0ecde

Browse files
authored
chore: update rustls-pemfile (#93)
* chore: update rustls-pemfile Signed-off-by: gabrik <[email protected]> * chore: fix clippy Signed-off-by: gabrik <[email protected]> * chore: sync Cargo.lock Signed-off-by: gabrik <[email protected]> --------- Signed-off-by: gabrik <[email protected]>
1 parent d216813 commit 4f0ecde

File tree

3 files changed

+21
-14
lines changed

3 files changed

+21
-14
lines changed

Cargo.lock

Lines changed: 5 additions & 5 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
@@ -42,7 +42,8 @@ ntex-tls = "0.3.2"
4242
regex = "1.7.1"
4343
rustc_version = "0.4"
4444
rustls = "0.21.7"
45-
rustls-pemfile = "1.0.4"
45+
rustls-pemfile = "2.0.0"
46+
rustls-pki-types = "1.1.0"
4647
secrecy = { version = "0.8.0", features = ["alloc", "serde"] }
4748
serde = "1.0.154"
4849
serde_json = "1.0.94"

zenoh-plugin-mqtt/src/lib.rs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,15 @@ fn load_private_key(bytes: Vec<u8>) -> ZResult<PrivateKey> {
278278
loop {
279279
match rustls_pemfile::read_one(&mut reader) {
280280
Ok(item) => match item {
281-
Some(rustls_pemfile::Item::RSAKey(key)) => return Ok(rustls::PrivateKey(key)),
282-
Some(rustls_pemfile::Item::PKCS8Key(key)) => return Ok(rustls::PrivateKey(key)),
283-
Some(rustls_pemfile::Item::ECKey(key)) => return Ok(rustls::PrivateKey(key)),
281+
Some(rustls_pemfile::Item::Pkcs1Key(key)) => {
282+
return Ok(rustls::PrivateKey(key.secret_pkcs1_der().to_vec()))
283+
}
284+
Some(rustls_pemfile::Item::Pkcs8Key(key)) => {
285+
return Ok(rustls::PrivateKey(key.secret_pkcs8_der().to_vec()))
286+
}
287+
Some(rustls_pemfile::Item::Sec1Key(key)) => {
288+
return Ok(rustls::PrivateKey(key.secret_sec1_der().to_vec()))
289+
}
284290
None => break,
285291
_ => continue,
286292
},
@@ -293,14 +299,14 @@ fn load_private_key(bytes: Vec<u8>) -> ZResult<PrivateKey> {
293299
fn load_certs(bytes: Vec<u8>) -> ZResult<Vec<Certificate>> {
294300
let mut reader = BufReader::new(bytes.as_slice());
295301

296-
let certs = match rustls_pemfile::certs(&mut reader) {
297-
Ok(certs) => certs,
298-
Err(e) => return Err(zerror!("Cannot parse certificate {e:?}").into()),
299-
};
302+
let certs: Vec<Certificate> = rustls_pemfile::certs(&mut reader)
303+
.map(|c| c.map(|c| Certificate(c.to_vec())))
304+
.collect::<Result<_, _>>()
305+
.map_err(|err| zerror!("Error processing client certificate: {err}."))?;
300306

301307
match certs.is_empty() {
302308
true => Err(zerror!("No certificates found").into()),
303-
false => Ok(certs.iter().map(|c| Certificate(c.to_vec())).collect()),
309+
false => Ok(certs),
304310
}
305311
}
306312

0 commit comments

Comments
 (0)