@@ -9,13 +9,6 @@ use std::os::raw::{c_char, c_int, c_long, c_uchar, c_uint, c_void};
99use std:: sync:: Arc ;
1010use std:: { fs, path:: PathBuf } ;
1111
12- use openssl_sys:: {
13- stack_st_SSL_CIPHER, stack_st_X509, stack_st_X509_NAME, stack_st_void, NID_undef ,
14- OPENSSL_malloc , TLSEXT_NAMETYPE_host_name , BIGNUM , EVP_CIPHER_CTX , EVP_PKEY , HMAC_CTX ,
15- OPENSSL_NPN_NEGOTIATED , OPENSSL_NPN_NO_OVERLAP , X509 , X509_STORE , X509_STORE_CTX ,
16- } ;
17- use rustls:: pki_types:: { CertificateDer , PrivatePkcs8KeyDer } ;
18-
1912use crate :: bio:: { Bio , BIO , BIO_METHOD } ;
2013use crate :: callbacks:: SslCallbackContext ;
2114use crate :: constants:: { named_group_to_nid, sig_scheme_to_type_nid} ;
@@ -31,6 +24,13 @@ use crate::not_thread_safe::NotThreadSafe;
3124use crate :: sign:: OpenSslCertifiedKey ;
3225use crate :: x509:: { load_certs, OwnedX509 , OwnedX509Stack } ;
3326use crate :: { conf, HandshakeState , ShutdownResult } ;
27+ use openssl_sys:: {
28+ stack_st_SSL_CIPHER, stack_st_X509, stack_st_X509_NAME, stack_st_void, NID_undef ,
29+ OPENSSL_malloc , TLSEXT_NAMETYPE_host_name , BIGNUM , EVP_CIPHER_CTX , EVP_PKEY , HMAC_CTX ,
30+ OPENSSL_NPN_NEGOTIATED , OPENSSL_NPN_NO_OVERLAP , X509 , X509_STORE , X509_STORE_CTX ,
31+ } ;
32+ use rustls:: pki_types:: pem:: PemObject ;
33+ use rustls:: pki_types:: { CertificateDer , PrivateKeyDer , PrivatePkcs8KeyDer } ;
3434
3535/// Makes a entry function definition.
3636///
@@ -462,12 +462,12 @@ pub(crate) fn use_cert_chain_file(file_name: &str) -> Result<Vec<CertificateDer<
462462 } ;
463463
464464 let mut chain = Vec :: new ( ) ;
465- for cert in rustls_pemfile :: certs ( & mut file_reader) {
465+ for cert in CertificateDer :: pem_reader_iter ( & mut file_reader) {
466466 let cert = match cert {
467467 Ok ( cert) => cert,
468468 Err ( err) => {
469469 log:: trace!( "Failed to parse {file_name:?}: {err:?}" ) ;
470- return Err ( Error :: from_io ( err) ) ;
470+ return Err ( Error :: from_pem ( err) ) ;
471471 }
472472 } ;
473473
@@ -507,15 +507,11 @@ pub(crate) fn use_private_key_file(file_name: &str, file_type: c_int) -> Result<
507507 Err ( err) => return Err ( Error :: from_io ( err) ) ,
508508 } ;
509509
510- match rustls_pemfile:: private_key ( & mut file_reader) {
511- Ok ( Some ( key) ) => key,
512- Ok ( None ) => {
513- log:: trace!( "No keys found in {file_name:?}" ) ;
514- return Err ( Error :: bad_data ( "pem file" ) ) ;
515- }
510+ match PrivateKeyDer :: from_pem_reader ( & mut file_reader) {
511+ Ok ( key) => key,
516512 Err ( err) => {
517513 log:: trace!( "Failed to read {file_name:?}: {err:?}" ) ;
518- return Err ( Error :: from_io ( err) ) ;
514+ return Err ( Error :: from_pem ( err) ) ;
519515 }
520516 }
521517 }
0 commit comments