4
4
5
5
use rcgen:: {
6
6
BasicConstraints , CertificateParams , DistinguishedName , DnType , ExtendedKeyUsagePurpose , IsCa ,
7
- KeyPair , KeyUsagePurpose ,
7
+ Issuer , KeyPair , KeyUsagePurpose ,
8
8
} ;
9
9
use std:: fs:: File ;
10
10
use std:: io:: Write ;
11
11
12
12
#[ test]
13
13
#[ ignore]
14
14
fn regenerate_certs ( ) {
15
- let root_key = KeyPair :: generate ( ) . unwrap ( ) ;
16
- let root_ca = issuer_params ( "Rustls Robust Root" )
17
- . self_signed ( & root_key)
18
- . unwrap ( ) ;
15
+ let root = {
16
+ let key = KeyPair :: generate ( ) . unwrap ( ) ;
17
+ let params = issuer_params ( "Rustls Robust Root" ) ;
18
+ let cert = params. self_signed ( & key) . unwrap ( ) ;
19
+ ( Issuer :: new ( params, key) , cert)
20
+ } ;
19
21
20
22
let mut root_file = File :: create ( "tests/certs/root.pem" ) . unwrap ( ) ;
21
- root_file. write_all ( root_ca . pem ( ) . as_bytes ( ) ) . unwrap ( ) ;
23
+ root_file. write_all ( root . 1 . pem ( ) . as_bytes ( ) ) . unwrap ( ) ;
22
24
23
- let intermediate_key = KeyPair :: generate ( ) . unwrap ( ) ;
24
- let intermediate_ca = issuer_params ( "Rustls Robust Root - Rung 2" )
25
- . signed_by ( & intermediate_key, & root_ca, & root_key)
26
- . unwrap ( ) ;
25
+ let intermediate = {
26
+ let key = KeyPair :: generate ( ) . unwrap ( ) ;
27
+ let params = issuer_params ( "Rustls Robust Root - Rung 2" ) ;
28
+ let cert = params. signed_by ( & key, & root. 0 ) . unwrap ( ) ;
29
+ ( Issuer :: new ( params, key) , cert)
30
+ } ;
27
31
28
32
let end_entity_key = KeyPair :: generate ( ) . unwrap ( ) ;
29
33
let mut end_entity_params =
@@ -33,14 +37,15 @@ fn regenerate_certs() {
33
37
ExtendedKeyUsagePurpose :: ServerAuth ,
34
38
ExtendedKeyUsagePurpose :: ClientAuth ,
35
39
] ;
40
+
36
41
let end_entity = end_entity_params
37
- . signed_by ( & end_entity_key, & intermediate_ca , & intermediate_key )
42
+ . signed_by ( & end_entity_key, & intermediate . 0 )
38
43
. unwrap ( ) ;
39
44
40
45
let mut chain_file = File :: create ( "tests/certs/chain.pem" ) . unwrap ( ) ;
41
46
chain_file. write_all ( end_entity. pem ( ) . as_bytes ( ) ) . unwrap ( ) ;
42
47
chain_file
43
- . write_all ( intermediate_ca . pem ( ) . as_bytes ( ) )
48
+ . write_all ( intermediate . 1 . pem ( ) . as_bytes ( ) )
44
49
. unwrap ( ) ;
45
50
46
51
let mut key_file = File :: create ( "tests/certs/end.key" ) . unwrap ( ) ;
0 commit comments