@@ -12,11 +12,13 @@ use std::{io::Write as _, sync::Arc};
1212use actix_rt:: net:: TcpStream ;
1313use actix_server:: TestServer ;
1414use actix_service:: ServiceFactoryExt as _;
15- use actix_tls:: accept:: openssl:: { Acceptor , TlsStream } ;
15+ use actix_tls:: {
16+ accept:: openssl:: { Acceptor , TlsStream } ,
17+ connect:: rustls_0_22:: reexports:: ClientConfig ,
18+ } ;
1619use actix_utils:: future:: ok;
1720use rustls_pki_types_1:: ServerName ;
18- use tokio_rustls:: rustls:: { ClientConfig , RootCertStore } ;
19- use tokio_rustls_025 as tokio_rustls;
21+ use tokio_rustls_025:: rustls:: RootCertStore ;
2022
2123fn new_cert_and_key ( ) -> ( String , String ) {
2224 let cert =
@@ -47,39 +49,40 @@ fn openssl_acceptor(cert: String, key: String) -> tls_openssl::ssl::SslAcceptor
4749 builder. build ( )
4850}
4951
50- #[ allow( dead_code) ]
5152mod danger {
53+ use rustls_pki_types_1:: { CertificateDer , ServerName , UnixTime } ;
5254 use tokio_rustls_025:: rustls;
5355
56+ /// Disables certificate verification to allow self-signed certs from rcgen.
5457 #[ derive( Debug ) ]
5558 pub struct NoCertificateVerification ;
5659
5760 impl rustls:: client:: danger:: ServerCertVerifier for NoCertificateVerification {
5861 fn verify_server_cert (
5962 & self ,
60- end_entity : & rustls_pki_types_1 :: CertificateDer :: CertificateDer < ' _ > ,
61- intermediates : & [ rustls_pki_types_1 :: CertificateDer :: CertificateDer < ' _ > ] ,
62- server_name : & rustls_pki_types_1 :: CertificateDer :: ServerName < ' _ > ,
63- ocsp_response : & [ u8 ] ,
64- now : rustls_pki_types_1 :: CertificateDer :: UnixTime ,
63+ _end_entity : & CertificateDer < ' _ > ,
64+ _intermediates : & [ CertificateDer < ' _ > ] ,
65+ _server_name : & ServerName < ' _ > ,
66+ _ocsp_response : & [ u8 ] ,
67+ _now : UnixTime ,
6568 ) -> Result < rustls:: client:: danger:: ServerCertVerified , rustls:: Error > {
6669 Ok ( rustls:: client:: danger:: ServerCertVerified :: assertion ( ) )
6770 }
6871
6972 fn verify_tls12_signature (
7073 & self ,
71- message : & [ u8 ] ,
72- cert : & rustls_pki_types_1:: CertificateDer < ' _ > ,
73- dss : & rustls:: DigitallySignedStruct ,
74+ _message : & [ u8 ] ,
75+ _cert : & rustls_pki_types_1:: CertificateDer < ' _ > ,
76+ _dss : & rustls:: DigitallySignedStruct ,
7477 ) -> Result < rustls:: client:: danger:: HandshakeSignatureValid , rustls:: Error > {
7578 Ok ( rustls:: client:: danger:: HandshakeSignatureValid :: assertion ( ) )
7679 }
7780
7881 fn verify_tls13_signature (
7982 & self ,
80- message : & [ u8 ] ,
81- cert : & rustls_pki_types_1:: CertificateDer < ' _ > ,
82- dss : & rustls:: DigitallySignedStruct ,
83+ _message : & [ u8 ] ,
84+ _cert : & rustls_pki_types_1:: CertificateDer < ' _ > ,
85+ _dss : & rustls:: DigitallySignedStruct ,
8386 ) -> Result < rustls:: client:: danger:: HandshakeSignatureValid , rustls:: Error > {
8487 Ok ( rustls:: client:: danger:: HandshakeSignatureValid :: assertion ( ) )
8588 }
@@ -134,13 +137,13 @@ async fn accepts_connections() {
134137 let config = rustls_connector ( cert, key) ;
135138 let config = Arc :: new ( config) ;
136139
137- let mut conn = tokio_rustls :: rustls:: ClientConnection :: new (
140+ let mut conn = tokio_rustls_025 :: rustls:: ClientConnection :: new (
138141 config,
139142 ServerName :: try_from ( "localhost" ) . unwrap ( ) ,
140143 )
141144 . unwrap ( ) ;
142145
143- let mut stream = tokio_rustls :: rustls:: Stream :: new ( & mut conn, & mut sock) ;
146+ let mut stream = tokio_rustls_025 :: rustls:: Stream :: new ( & mut conn, & mut sock) ;
144147
145148 stream. flush ( ) . expect ( "TLS handshake failed" ) ;
146149}
0 commit comments