1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//! 服务器证书工具
//!
//! 提供便捷的服务器证书加载和客户端配置创建功能
//! 证书必须通过 scripts/generate_cert.rs 生成
use lazy_static;
use Mutex;
use Path;
use CertificateDer;
use ClientConfig;
use crate;
use crateResult;
use crateFlareError;
lazy_static!
/// 默认证书文件路径
/// 默认私钥文件路径
/// 获取服务器证书的 DER 格式字节数组
/// 从默认路径 certs/server.crt 加载证书(带缓存)
/// 获取服务器私钥的 DER 格式字节数组
/// 从默认路径 certs/server.key 加载私钥(带缓存)
/// 初始化 rustls CryptoProvider(如果尚未初始化)
/// 使用 Once 确保只初始化一次
/// 创建 rustls 客户端配置
///
/// 该配置会将服务器证书添加到受信任的根证书存储中,
/// 允许客户端信任自签名的服务器证书。
/// 使用默认路径的证书文件。
/// 从指定证书路径创建 rustls 客户端配置