@@ -169,21 +169,18 @@ impl TlsIdentityCtx {
169
169
pub_key,
170
170
} )
171
171
}
172
- }
173
172
174
- fn acceptor (
175
- cert : rustls:: pki_types:: CertificateDer < ' static > ,
176
- priv_key : rustls:: pki_types:: PrivateKeyDer < ' static > ,
177
- ) -> anyhow:: Result < TlsAcceptor > {
178
- let mut server_config = rustls:: ServerConfig :: builder ( )
179
- . with_no_client_auth ( )
180
- . with_single_cert ( vec ! [ cert] , priv_key)
181
- . context ( "bad certificate/key" ) ?;
173
+ fn make_acceptor ( & self ) -> anyhow:: Result < TlsAcceptor > {
174
+ let mut server_config = rustls:: ServerConfig :: builder ( )
175
+ . with_no_client_auth ( )
176
+ . with_single_cert ( vec ! [ self . cert. clone( ) ] , self . priv_key . clone_key ( ) )
177
+ . context ( "bad certificate/key" ) ?;
182
178
183
- // This adds support for the SSLKEYLOGFILE env variable (https://wiki.wireshark.org/TLS#using-the-pre-master-secret)
184
- server_config. key_log = Arc :: new ( rustls:: KeyLogFile :: new ( ) ) ;
179
+ // This adds support for the SSLKEYLOGFILE env variable (https://wiki.wireshark.org/TLS#using-the-pre-master-secret)
180
+ server_config. key_log = Arc :: new ( rustls:: KeyLogFile :: new ( ) ) ;
185
181
186
- Ok ( TlsAcceptor :: from ( Arc :: new ( server_config) ) )
182
+ Ok ( TlsAcceptor :: from ( Arc :: new ( server_config) ) )
183
+ }
187
184
}
188
185
189
186
#[ derive( Clone , Debug ) ]
@@ -389,7 +386,7 @@ async fn run(
389
386
390
387
let server_builder = if let Some ( ( cert_path, key_path) ) = cert. as_deref ( ) . zip ( key. as_deref ( ) ) {
391
388
let identity = TlsIdentityCtx :: init_from_paths ( cert_path, key_path) . context ( "failed to init TLS identity" ) ?;
392
- let acceptor = acceptor ( identity. cert , identity . priv_key ) . context ( "failed to build TLS acceptor" ) ?;
389
+ let acceptor = identity. make_acceptor ( ) . context ( "failed to build TLS acceptor" ) ?;
393
390
394
391
if hybrid {
395
392
server_builder. with_hybrid ( acceptor, identity. pub_key )
0 commit comments