@@ -4,17 +4,6 @@ use crate::{Platform, PlatformError, MAX_CHUNK_SIZE, MAX_SN_SIZE};
4
4
use cfg_if:: cfg_if;
5
5
use core:: cmp:: min;
6
6
7
- cfg_if ! {
8
- if #[ cfg( feature = "openssl" ) ] {
9
- use openssl:: x509:: X509 ;
10
- } else if #[ cfg( feature = "rustcrypto" ) ] {
11
- use x509_cert:: {
12
- certificate:: Certificate ,
13
- der:: { DecodePem , Encode } ,
14
- } ;
15
- }
16
- }
17
-
18
7
pub struct DefaultPlatform ;
19
8
20
9
pub const AUTO_INIT_LOCALITY : u32 = 0 ;
@@ -34,45 +23,56 @@ pub const TEST_CERT_PEM: &[u8] = include_bytes!("test_data/cert_256.pem");
34
23
#[ cfg( feature = "dpe_profile_p384_sha384" ) ]
35
24
pub const TEST_CERT_PEM : & [ u8 ] = include_bytes ! ( "test_data/cert_384.pem" ) ;
36
25
37
- impl DefaultPlatform {
38
- cfg_if ! {
39
- if #[ cfg( feature = "openssl" ) ] {
40
- fn parse_issuer_name( ) -> Vec <u8 > {
41
- X509 :: from_pem( TEST_CERT_PEM )
42
- . unwrap( )
43
- . subject_name( )
44
- . to_der( )
45
- . unwrap( )
46
- } } else if #[ cfg( feature = "rustcrypto" ) ] {
47
- fn parse_issuer_name( ) -> Vec <u8 > {
48
- Certificate :: from_pem( TEST_CERT_PEM )
49
- . unwrap( )
50
- . tbs_certificate
51
- . subject
52
- . to_der( )
53
- . unwrap( )
54
- }
55
- } }
56
-
57
- cfg_if ! {
58
- if #[ cfg( feature = "openssl" ) ] {
59
- fn parse_issuer_sn( ) -> Vec <u8 > {
60
- X509 :: from_pem( TEST_CERT_PEM )
61
- . unwrap( )
62
- . serial_number( )
63
- . to_bn( )
64
- . unwrap( )
65
- . to_vec( )
66
- }
67
- } else if #[ cfg( feature = "rustcrypto" ) ] {
68
- fn parse_issuer_sn( ) -> Vec <u8 > {
69
- Certificate :: from_pem( TEST_CERT_PEM )
70
- . unwrap( )
71
- . tbs_certificate
72
- . serial_number
73
- . as_bytes( )
74
- . to_vec( )
26
+ cfg_if ! {
27
+ if #[ cfg( feature = "openssl" ) ] {
28
+ mod parse {
29
+ use super :: * ;
30
+ use openssl:: x509:: X509 ;
31
+ pub struct DefaultPlatform ;
32
+ impl DefaultPlatform {
33
+ pub fn parse_issuer_name( ) -> Vec <u8 > {
34
+ X509 :: from_pem( TEST_CERT_PEM )
35
+ . unwrap( )
36
+ . subject_name( )
37
+ . to_der( )
38
+ . unwrap( )
39
+ }
40
+ pub fn parse_issuer_sn( ) -> Vec <u8 > {
41
+ X509 :: from_pem( TEST_CERT_PEM )
42
+ . unwrap( )
43
+ . serial_number( )
44
+ . to_bn( )
45
+ . unwrap( )
46
+ . to_vec( )
47
+ }
48
+ }
75
49
}
50
+ } else if #[ cfg( feature = "rustcrypto" ) ] {
51
+ mod parse {
52
+ use super :: * ;
53
+ use x509_cert:: {
54
+ certificate:: Certificate ,
55
+ der:: { DecodePem , Encode } ,
56
+ } ;
57
+ pub struct DefaultPlatform ;
58
+ impl DefaultPlatform {
59
+ pub fn parse_issuer_name( ) -> Vec <u8 > {
60
+ Certificate :: from_pem( TEST_CERT_PEM )
61
+ . unwrap( )
62
+ . tbs_certificate
63
+ . subject
64
+ . to_der( )
65
+ . unwrap( )
66
+ }
67
+ pub fn parse_issuer_sn( ) -> Vec <u8 > {
68
+ Certificate :: from_pem( TEST_CERT_PEM )
69
+ . unwrap( )
70
+ . tbs_certificate
71
+ . serial_number
72
+ . as_bytes( )
73
+ . to_vec( )
74
+ }
75
+ }
76
76
}
77
77
}
78
78
}
@@ -101,7 +101,7 @@ impl Platform for DefaultPlatform {
101
101
}
102
102
103
103
fn get_issuer_name ( & mut self , out : & mut [ u8 ; MAX_CHUNK_SIZE ] ) -> Result < usize , PlatformError > {
104
- let issuer_name = DefaultPlatform :: parse_issuer_name ( ) ;
104
+ let issuer_name = parse :: DefaultPlatform :: parse_issuer_name ( ) ;
105
105
if issuer_name. len ( ) > out. len ( ) {
106
106
return Err ( PlatformError :: IssuerNameError ( 0 ) ) ;
107
107
}
@@ -110,7 +110,7 @@ impl Platform for DefaultPlatform {
110
110
}
111
111
112
112
fn get_issuer_sn ( & mut self , out : & mut [ u8 ; MAX_SN_SIZE ] ) -> Result < usize , PlatformError > {
113
- let sn = DefaultPlatform :: parse_issuer_sn ( ) ;
113
+ let sn = parse :: DefaultPlatform :: parse_issuer_sn ( ) ;
114
114
if sn. len ( ) > out. len ( ) {
115
115
return Err ( PlatformError :: IssuerNameError ( 0 ) ) ;
116
116
}
0 commit comments