Index: dockworker/Cargo.toml
===================================================================
--- dockworker.orig/Cargo.toml
+++ dockworker/Cargo.toml
@@ -91,7 +91,7 @@ version = "0.21"
 optional = true
 
 [dependencies.rustls-pemfile]
-version = "1.0.0"
+version = "2.0.0"
 optional = true
 
 [dependencies.serde]
Index: dockworker/src/hyper_client.rs
===================================================================
--- dockworker.orig/src/hyper_client.rs
+++ dockworker/src/hyper_client.rs
@@ -201,25 +201,26 @@ impl HyperClient {
         let mut cert_buf = BufReader::new(File::open(cert)?);
         let mut ca_buf = BufReader::new(File::open(ca)?);
 
-        let private_key = match rustls_pemfile::rsa_private_keys(&mut key_buf)? {
+        let private_key = match rustls_pemfile::rsa_private_keys(&mut key_buf).collect::<Result<Vec<_>,_>>()? {
             keys if keys.is_empty() => return Err(rustls::Error::NoCertificatesPresented.into()),
-            mut keys if keys.len() == 1 => PrivateKey(keys.remove(0)),
+            mut keys if keys.len() == 1 => PrivateKey(keys.remove(0).secret_pkcs1_der().to_vec()),
             mut keys => {
                 // if keys.len() > 1
                 warn!("Private key file contains multiple keys. Using only first one.");
-                PrivateKey(keys.remove(0))
+                PrivateKey(keys.remove(0).secret_pkcs1_der().to_vec())
             }
         };
-        let certs = rustls_pemfile::read_all(&mut cert_buf)?
+        let certs = rustls_pemfile::read_all(&mut cert_buf)
             .into_iter()
             .filter_map(|item| match item {
-                Item::X509Certificate(c) => Some(Certificate(c)),
+                Ok(Item::X509Certificate(c)) => Some(Ok(Certificate(c.to_vec()))),
+                Err(e) => Some(Err(e)),
                 _ => None,
             })
-            .collect();
+            .collect::<Result<_,_>>()?;
         let mut root_certs = rustls::RootCertStore::empty();
-        for c in rustls_pemfile::certs(&mut ca_buf)? {
-            root_certs.add(&Certificate(c))?;
+        for c in rustls_pemfile::certs(&mut ca_buf) {
+            root_certs.add(&Certificate(c?.to_vec()))?;
         }
 
         let config = rustls::ClientConfig::builder()
