certain_certificate/
lib.rs1pub mod certificate;
2pub use certificate::{
3
4 CertificateAlternateName,
5 CertificateValidity,
6 CertificateData,
7 Certificate,
8};
9
10#[cfg(test)]
11mod tests {
12
13 use super::{Certificate};
14
15 #[test]
16 fn parse_certificate() {
17 let data = include_bytes!("../assets/test/certificate.cer");
18 assert!(Certificate::parse(data).is_some());
19 }
20
21 #[test]
22 fn read_certificate_authority() {
23 let data = include_bytes!("../assets/test/certificate.cer");
24 let certificate = Certificate::parse(data);
25 assert!(certificate.is_some());
26 }
27
28 #[test]
29 fn read_certificate_issuer_name() {
30 let data = include_bytes!("../assets/test/certificate.cer");
31 let certificate = Certificate::parse(data);
32
33 if let Some(certificate) = certificate {
34 assert_eq!(certificate.issuer_name(), Some("GTS CA 1C3"));
35 }
36 }
37
38 #[test]
39 fn read_certificate_issuer_country() {
40 let data = include_bytes!("../assets/test/certificate.cer");
41 let certificate = Certificate::parse(data);
42
43 if let Some(certificate) = certificate {
44 assert_eq!(certificate.issuer_country(), Some("US"));
45 }
46 }
47
48 #[test]
49 fn read_certificate_issuer_state() {
50 let data = include_bytes!("../assets/test/certificate.cer");
51 let certificate = Certificate::parse(data);
52
53 if let Some(certificate) = certificate {
54 assert_eq!(certificate.issuer_state(), None);
55 }
56 }
57
58 #[test]
59 fn read_certificate_issuer_organization() {
60 let data = include_bytes!("../assets/test/certificate.cer");
61 let certificate = Certificate::parse(data);
62
63 if let Some(certificate) = certificate {
64 assert_eq!(certificate.issuer_organization(), Some("Google Trust Services LLC"));
65 }
66 }
67
68 #[test]
69 fn read_certificate_issuer_organizational_unit() {
70 let data = include_bytes!("../assets/test/certificate.cer");
71 let certificate = Certificate::parse(data);
72
73 if let Some(certificate) = certificate {
74 assert_eq!(certificate.issuer_organizational_unit(), None);
75 }
76 }
77
78 #[test]
79 fn read_certificate_subject_name() {
80 let data = include_bytes!("../assets/test/certificate.cer");
81 let certificate = Certificate::parse(data);
82
83 if let Some(certificate) = certificate {
84 assert_eq!(certificate.subject_name(), Some("www.google.com"));
85 }
86 }
87
88 #[test]
89 fn read_certificate_subject_alternate_names() {
90 let data = include_bytes!("../assets/test/certificate.cer");
91 let certificate = Certificate::parse(data);
92
93 if let Some(certificate) = certificate {
94 assert!(certificate.subject_alternate_names().is_empty());
95 }
96 }
97
98 #[test]
99 fn read_certificate_subject_country() {
100 let data = include_bytes!("../assets/test/certificate.cer");
101 let certificate = Certificate::parse(data);
102
103 if let Some(certificate) = certificate {
104 assert_eq!(certificate.subject_country(), None);
105 }
106 }
107
108 #[test]
109 fn read_certificate_subject_state() {
110 let data = include_bytes!("../assets/test/certificate.cer");
111 let certificate = Certificate::parse(data);
112
113 if let Some(certificate) = certificate {
114 assert_eq!(certificate.subject_state(), None);
115 }
116 }
117
118 #[test]
119 fn read_certificate_subject_organization() {
120 let data = include_bytes!("../assets/test/certificate.cer");
121 let certificate = Certificate::parse(data);
122
123 if let Some(certificate) = certificate {
124 assert_eq!(certificate.subject_organization(), None);
125 }
126 }
127
128 #[test]
129 fn read_certificate_subject_organizational_unit() {
130 let data = include_bytes!("../assets/test/certificate.cer");
131 let certificate = Certificate::parse(data);
132
133 if let Some(certificate) = certificate {
134 assert_eq!(certificate.subject_organizational_unit(), None);
135 }
136 }
137
138 #[test]
139 fn read_certificate_validity() {
140 let data = include_bytes!("../assets/test/certificate.cer");
141 let certificate = Certificate::parse(data);
142
143 if let Some(certificate) = certificate {
144 assert_eq!(certificate.validity().timestamp_begin() , 1675280639);
145 assert_eq!(certificate.validity().timestamp_end() , 1682538238);
146 }
147 }
148
149 #[test]
150 fn read_certificate_serial() {
151 let data = include_bytes!("../assets/test/certificate.cer");
152 let certificate = Certificate::parse(data);
153
154 if let Some(certificate) = certificate {
155 assert_eq!(certificate.serial(), &[
156 0xC3, 0x2C, 0x47, 0x55, 0x63, 0x03, 0x66, 0xDD,
157 0x0A, 0x1C, 0x6E, 0x61, 0x0F, 0xA4, 0x65, 0x97,
158 ]);
159 }
160 }
161}