@@ -351,7 +351,7 @@ fn import_same_identity_multiple_times() {
351351 ) ) ;
352352
353353 let cert = keys. server . cert_and_key . cert . to_pem ( ) . into_bytes ( ) ;
354- let key = key_to_pem ( keys. server . cert_and_key . key . get_der ( ) ) . into_bytes ( ) ;
354+ let key = rsa_to_pkcs8 ( & key_to_pem ( keys. server . cert_and_key . key . get_der ( ) ) ) . into_bytes ( ) ;
355355 let _ = p ! ( Identity :: from_pkcs8( & cert, & key) ) ;
356356 let _ = p ! ( Identity :: from_pkcs8( & cert, & key) ) ;
357357}
@@ -429,7 +429,7 @@ fn alpn_google_none() {
429429fn server_pkcs8 ( ) {
430430 let keys = test_cert_gen:: keys ( ) ;
431431 let cert = keys. server . cert_and_key . cert . to_pem ( ) . into_bytes ( ) ;
432- let key = key_to_pem ( keys. server . cert_and_key . key . get_der ( ) ) . into_bytes ( ) ;
432+ let key = rsa_to_pkcs8 ( & key_to_pem ( keys. server . cert_and_key . key . get_der ( ) ) ) . into_bytes ( ) ;
433433
434434 let ident = Identity :: from_pkcs8 ( & cert, & key) . unwrap ( ) ;
435435 let ident2 = ident. clone ( ) ;
@@ -476,7 +476,7 @@ fn server_pkcs8() {
476476fn two_servers ( ) {
477477 let keys1 = test_cert_gen:: gen_keys ( ) ;
478478 let cert = keys1. server . cert_and_key . cert . to_pem ( ) . into_bytes ( ) ;
479- let key = key_to_pem ( keys1. server . cert_and_key . key . get_der ( ) ) . into_bytes ( ) ;
479+ let key = rsa_to_pkcs8 ( & key_to_pem ( keys1. server . cert_and_key . key . get_der ( ) ) ) . into_bytes ( ) ;
480480 let identity = p ! ( Identity :: from_pkcs8( & cert, & key) ) ;
481481 let builder = TlsAcceptor :: builder ( identity) ;
482482 let builder = p ! ( builder. build( ) ) ;
@@ -497,7 +497,7 @@ fn two_servers() {
497497
498498 let keys2 = test_cert_gen:: gen_keys ( ) ;
499499 let cert = keys2. server . cert_and_key . cert . to_pem ( ) . into_bytes ( ) ;
500- let key = key_to_pem ( keys2. server . cert_and_key . key . get_der ( ) ) . into_bytes ( ) ;
500+ let key = rsa_to_pkcs8 ( & key_to_pem ( keys2. server . cert_and_key . key . get_der ( ) ) ) . into_bytes ( ) ;
501501 let identity = p ! ( Identity :: from_pkcs8( & cert, & key) ) ;
502502 let builder = TlsAcceptor :: builder ( identity) ;
503503 let builder = p ! ( builder. build( ) ) ;
@@ -552,3 +552,11 @@ fn key_to_pem(der: &[u8]) -> String {
552552 contents : der. to_owned ( ) ,
553553 } )
554554}
555+
556+ fn rsa_to_pkcs8 ( pem : & str ) -> String {
557+ use rsa:: { pkcs1:: FromRsaPrivateKey , pkcs8:: ToPrivateKey , RsaPrivateKey } ;
558+ let pkey = RsaPrivateKey :: from_pkcs1_pem ( pem) . unwrap ( ) ;
559+ let pkcs8_pem = pkey. to_pkcs8_pem ( ) . unwrap ( ) ;
560+ let pkcs8_pem: & str = pkcs8_pem. as_ref ( ) ;
561+ pkcs8_pem. to_owned ( )
562+ }
0 commit comments