Skip to content

Commit 870e1ec

Browse files
committed
Handle Elliptic Curve variant for private key
1 parent 347eeaa commit 870e1ec

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

sqlx-core/src/net/tls/tls_rustls.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use futures_util::future;
2+
use rustls::{Certificate, PrivateKey};
23
use std::io::{self, BufReader, Cursor, Read, Write};
34
use std::sync::Arc;
45
use std::task::{Context, Poll};
@@ -12,7 +13,7 @@ use rustls::{
1213
use crate::error::Error;
1314
use crate::io::ReadBuf;
1415
use crate::net::tls::util::StdSocket;
15-
use crate::net::tls::TlsConfig;
16+
use crate::net::tls::{CertificateInput, TlsConfig};
1617
use crate::net::Socket;
1718

1819
pub struct RustlsSocket<S: Socket> {
@@ -183,8 +184,11 @@ fn private_key_from_pem(pem: Vec<u8>) -> Result<rustls::PrivateKey, Error> {
183184

184185
loop {
185186
match rustls_pemfile::read_one(&mut reader)? {
186-
Some(rustls_pemfile::Item::RSAKey(key)) => return Ok(rustls::PrivateKey(key)),
187-
Some(rustls_pemfile::Item::PKCS8Key(key)) => return Ok(rustls::PrivateKey(key)),
187+
Some(
188+
rustls_pemfile::Item::RSAKey(key)
189+
| rustls_pemfile::Item::PKCS8Key(key)
190+
| rustls_pemfile::Item::ECKey(key),
191+
) => return Ok(rustls::PrivateKey(key)),
188192
None => break,
189193
_ => {}
190194
}

0 commit comments

Comments
 (0)